Articles of java

如何找出哪些文件是打开的?

lsof -n包含数千个这样的条目: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 27181 root 5044u FIFO 0,8 0t0 359768953 pipe java 27181 root 5045u 0000 0,9 0 4734 anon_inode java 27181 root 5046u FIFO 0,8 0t0 359781352 pipe java 27181 root 5047r FIFO 0,8 0t0 359798491 pipe java 27181 root 5048u FIFO 0,8 0t0 359768702 […]

为什么磁盘读取会比使用创build许多小文件的简单Java应用程序写入更重?

我有一个非常简单的Java 7应用程序,它从位于磁盘xvdb上的专有文件格式(Hadoop序列文件)中读取,并在磁盘xvdb创build了数以百万计的2-20kb文件。 ByteBuffer byteBuffer = ByteBuffer.wrap(imageBinary, 0, ((BytesWritable)value).getLength()); File imageFile = new File(filePath); FileOutputStream fos = new FileOutputStream( imageFile ); fos.getChannel().write(byteBuffer); fos.close(); 运行iostat -d 30表明我们在磁盘上的读取量比写入时多一倍。 在这个卷上没有其他活动比上面只写入这个磁盘的应用程序。 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn xvdap1 0.40 0.00 3.07 0 92 xvdb 19.90 828.67 0.00 24860 0 xvdap3 0.00 0.00 0.00 0 0 xvdf 988.93 3538.93 1385.47 106168 […]

通过其Java引用程序或用户代理string阻止机器人?

我在我的日志中获取了大量的网页点击,抓取了我网站的大多数顶级页面,并将引用者显示为Java版本。 我在引用中看到Java版本的不同变体,即Java / 1.6.0_04,Java / 1.4.1_04,Java / 1.7.0_25等。 有时候,但并不总是,我得到一个404 /联系/但没有其他页面下面。 根据蜜jar项目,IP通常是垃圾邮件收割机和机器人 78.129.252.190 – – [24/Jan/2014:01:28:52 -0800] "GET / HTTP/1.1" 200 6728 "-" "Java/1.6.0_04" 198 7082 78.129.252.190 – – [24/Jan/2014:01:28:55 -0800] "GET /about HTTP/1.1" 301 – "-" "Java/1.6.0_04" 203 352 78.129.252.190 – – [24/Jan/2014:01:28:55 -0800] "GET /about/ HTTP/1.1" 200 29933 "-" "Java/1.6.0_04" 204 30330 78.129.252.190 – […]

Java和/etc/resolv.conf DNS服务器故障转移

执行摘要 如果第一个失败或超时,Java是否查询下一个resolv.conf名称服务器条目? Java认为parsing器“closures”的默认超时是什么? 细节 在/etc/resolv.conf中,在大多数站点中,有多个configuration为供系统使用的DNS服务器。 任何人都可以澄清,如果列表中的第一个DNS服务器失败,会发生什么? 例如,想象下面的resolv.conf search example.com nameserver 8.8.8.8 nameserver 4.4.4.4 如果8.8.8.8变得无法访问那么Java将尝试4.4.4.4? 根据我们的经验,我们看不到许multithreading正在等待parsingDNS名称,即使备份DNS服务器可以访问。

AWS Beanstalk将整个应用程序从httpredirect到https

我一直试图弄清楚这一点,没有任何运气。 我相信你们都知道,aws负载均衡器通过端口80将所有https请求转发到ec2实例上。我需要以某种方式将所有http请求redirect到https。 我到目前为止收集的是你需要以redirect规则修改ec2实例,然后将实例保存为新的AMI并将beanstalk指向新的AMI。 那么其余的似乎还不清楚,我不是服务器专家,所以请裸露在我身边。 我发现下面的重写规则,但不幸的是我不知道该怎么办。 RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} !=https RewriteRule ^/(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301] 我ssh'd到我的EC2实例,并去/etc/httpd/这就像我做到了。 我完全失去了我想从那里做的事情。 我是否修改文件或创build新文件? 如果我需要修改或创build一个新文件,它将会在哪里,或者我会怎么称呼它,它会在哪里? 有人可以提供文件的确切内容 一旦我创build/修改这个文件,接下来我该做什么? 我只是去ec2页面,点击我的实例旁边的checkbox,点击操作,最后创build图像? 如果是这样,这是什么意思? 我不知道我想在这里设置什么设置。 最后,我假设我只是在我的beanstalk仪表板中进行configuration,并将我的beanstalk env指向我的新AMI并重新启动服务器。 这听起来正确吗? 如果有人知道如何做到这一点,或详细描述过程的网站,我会appriciate它。 我想指出,我在tomcat上使用Java应用程序。 我不确定自定义AMI是否会影响扩大服务器大小。 非常感谢。

Java:限制JVM可以使用的核心数量

多个用户在60核心计算服务器(基于Linux / Ubuntu)上运行Java应用程序。 有不同的应用程序,其中大部分不是内部开发的。 尽pipe系统pipe理员认为给定用户的Java进程在任何特定时刻都可以使用10个内核,但她希望不要超过10个。 是否有任何Java或OSconfiguration可以用来防止进程无限制地获取计算资源?

使用Hyperic HQ监视分布式/集群系统的经验是什么?

我一直在试图find一个很好的解决scheme(可以在Windows上运行)来监视/趋势/报警由主要Java技术(Tomcat,ActiveMQ,JBossCache等)组成的分布式系统,但也有一些.Net和MySQL / SQLServer的。 Hyperic HQ ( 开源版本 )似乎是一个合理的解决scheme,虽然它不支持最新版本的Active MQ(5.2)或MySQL(5.1)。 我想知道别人有什么样的经历。 任何build议,战争故事,或替代解决scheme将不胜感激。 另外,我工作的公司已经采用TNT软件的通用监控ELM 。 它有许多很好的function,尤其是涉及集中式日志logging和stream程监控。 但是,缺乏Hyperic HQ可以为我们使用的许多服务提供的具体详细指标和监控。

在不粘壳的情况下在后台运行脚本

我想通过SSH远程运行一个shell脚本,当脚本结束时,ssh shell应该结束。 脚本本身运行另一个脚本,其输出被传送到一个日志文件。 例如:我运行脚本run1.sh: #!/bin/sh function logpipe() { while read line;do echo $line >> $1 done } ./bin/run2.sh $JBOSS_HOSTNAME | logpipe $JBOSS_DIST/log/server.log 2>&1 & run2.sh: #!/bin/sh exec "$JAVA" -DJBOSS_PID=_$$_ $JAVA_OPTS \ -Djava.endorsed.dirs="$JBOSS_ENDORSED_DIRS" \ -classpath "$JBOSS_CLASSPATH" \ org.jboss.Main "$@" 现在的问题是当我跑步 ssh myhost "bin/run1.sh" shell被“卡住”到脚本中,我只能通过Crtl + Cclosures它。 我猜这个诀窍是nohup和另一个pipe道技巧之间的事情,但现在我还没有办法。

iDRAC6虚拟介质本机库无法加载

尝试在iDRAC6 IP KVM会话上安装虚拟介质时,出现以下错误: 我正在使用Ubuntu 9.04和: $ javaws -version Java(TM)Web Start 1.6.0_16 $ uname -a Linux aud22419-linux 2.6.28-15-generic#51 -Ubuntu SMP Mon Aug 31 13:39:06 UTC 2009 x86_64 GNU / Linux $ firefox -version Mozilla Firefox 3.0.14,版权所有(c)1998 – 2009 mozilla.org 在Windows + IE中(不出意外)起作用。 我刚刚通过戴尔技术支持得到了电话,我被告知已经知道在Linux + Firefox上工作,尽pipeUbuntu不支持(即戴尔)。 有没有人在同一个场景中安装虚拟媒体?

Linux`alternatives –config`没有用户input

我在写一个RHEL kickstart脚本,在我的%post中,我需要安装一个JRE。 基本上,当前的设置涉及到我需要在第一次启动后手动进入,并使用alternatives –config命令将新安装的JRE设置为默认值。 有没有办法让我把parameter passing给alternatives所以我不必手动select正确的JRE?