Articles of java

Tomcat CPU和GC疯了

我们的Tomcat 7安装有一些主要问题。 它曾经运行良好超过一年,但现在的CPU主要是在400% – 700%(8芯机),在日志中我看到这些音调: 2015-04-01T23:05:13.046+0200: 5177.229: [GC2015-04-01T23:05:13.046+0200: 5177.229: [ParNew: 1398632K->345K(1747648K), 0.0062240 secs] 3439622K->2041335K(5941952K) icms_dc=0 , 0.0063310 secs] [Times: user=0.04 sys=0.00, real=0.00 secs] 我的Tomcat启动设置(在setenv.sh中)是: CATALINA_OPTS="$CATALINA_OPTS -server -Xms6G -Xmx6G -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:NewRatio=2 -XX:SurvivorRatio=4 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -Djava.awt.headless=true -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -Dmail.mime.decodeparameters=true -Djava.security.egd=file:/dev/./urandom" 行为通常是这样的机器运行一个小时左右,我看到它消耗内存,然后开始尝试GC,我每秒得到这些日志条目。 我已经尝试了不同的GC设置,并没有成功。 正如刚刚发生的那样,我不知道这可能是什么原因,或者如果有人在这里有一个解决scheme? 我的服务器有Ubuntu LTS 14.04.2和Oracle Java 7的32GB内存。

当试图用Java8运行Tomcat7时,“无法统计/ usr / lib / jvm / java-7-oracle / bin / java”

我试图从Java7升级我的服务器到Java8,以便他们将在Java8下运行我的webapps。 在我的机器之一,我得到以下错误,我不知道什么仍然指的是java-7 $ sudo service tomcat7 start * Starting Tomcat servlet engine tomcat7 start-stop-daemon: unable to stat /usr/lib/jvm/java-7-oracle/bin/java (No such file or directory) 这台服务器是Ubuntu 14.10(Utopic)。 我卸载了所有的java-7和java-6软件包。 我现在已经安装了以下java包: 的openjdk -8- JDK 的openjdk -8- JRE 的openjdk -8-源 甲骨文java8的安装程序 我有一行/usr/share/tomcat7/bin/setenv.sh文件: JAVA_HOME=`readlink -f /usr/bin/javac | sed 's|/bin/javac||g'` Java的select似乎指向正确的事情: $ update-alternatives –display java java – manual mode link currently points […]

厨师/stream浪汉 – 厨房不能连接到更新jenkins

Iam与厨师,stream浪者和testing厨房疯狂。 我们有一个定制的jenkins食谱,它适用于没有合作networkingProxys的“普通”客户端,但后面的错误失败。 – create new file /tmp/kitchen/cache/jenkins-cli.jar – update content in file /tmp/kitchen/cache/jenkins-cli.jar from none to 0b49c2 (new content is binary, diff output suppressed) * remote_file[/tmp/kitchen/cache/update-center.json] action create_if_missing [2015-05-11T16:28:32+00:00] ERROR: Error connecting to http://mirrors.jenkins-ci.org/updates/update-center.json, retry 1/5 [2015-05-11T16:30:43+00:00] ERROR: Error connecting to http://mirrors.jenkins-ci.org/updates/update-center.json, retry 2/5 [2015-05-11T16:32:54+00:00] ERROR: Error connecting to http://mirrors.jenkins-ci.org/updates/update-center.json, retry 3/5 [2015-05-11T16:35:06+00:00] ERROR: Error […]

RESTful客户端与Freeradius服务器通信

我已经在Ubuntu 14.04上成功安装了Freeradius服务器。 它与本地客户端(从freeradius站点下载的源代码)完美结合并运行。 现在我的下一个任务是让Freeradius服务器与一个Restful客户端通信。 我在这个主题上做了一个彻底的search,但没有find任何答案。 我想在java中实现一个RESTful客户端,并与FreeRadius服务器进行通信以进行身份​​validation和授权。 如果有任何好的教程如何做到这一点,请给我提供有用的链接或示例代码。 提前致谢

如何validationweblogic是最新的

我如何validationOracle Weblogic是最新的? pipe理控制台打印10.3.6.0作为weblogic版本。 我访问了Oracle站点,最后一个下载的版本是10.3.6,但是我认为有些东西因为服务器正常运行时间差不多2年而丢失了。 谢谢。

监视Java垃圾收集器和内存状态

我在JRuby上运行Jboss上的Rails应用程序。 有时Java垃圾收集器不能释放内存,而且jvm会占用所有可用的内存。 我试图用jstat创build一个自定义的度量标准,但是却找不到一些有价值的统计信息,这些统计信息允许我检测到一些有风险的情况,并在Java崩溃之前在服务器上采取一些操作。 当使用jvm上的所有内存时,服务器的一个内核将保持满容量,尝试收集并释放一些内存。 你有什么想法,我怎样才能检测GC什么时候会失败? 谢谢。

在网站构build器中添加自定义域

我参与了在Google Appengine上托pipe的网站制作工具的开发。 该项目与通配符域(例如* .foo-bar.com)相关联,然后我们使用子域来确定正在请求的站点,并根据元数据dynamic生成内容。 到目前为止,这些域名已经足够了。 但是,我们现在有客户希望将自定义域名与他们的网站相关联。 我们提出的最好的解决scheme是创build一个运行ha_proxy的GCE VM,从而使我们能够将他们的域名redirect到我们通常的域名。 这个解决scheme有一个明显的缺点,就是增加一台新的机器到基础设施,另一个服务让我们维护。 我们也考虑过谷歌的负载平衡器,但这不仅要求我们编写额外的软件,而且最终每月还要花费更多的费用。 有没有更聪明的方法来做到这一点? 编辑: 例如,如果我们希望将www.client1-domain.comredirect到client1.foo-bar.com,我们会做两件事情: (1)要求我们的客户有我的ha_proxy他的领域点 (2)为我们的ha_proxy添加一个新的configuration,例如: acl host_client1 hdr_end(host) -i www.client1-domain.com use_backend client1_cluster if host_client1 backend client1_cluster … server client1 client1.foo-bar.com cookie A check

NFS服务器| 洪线程

我们有四个lpars,每个运行一个java实例。 他们对共享的NFS服务器进行大量的读/写操作。 当NFS服务器突然中断时,试图在这四台服务器上读取映像的所有线程都进入挂起状态。 下面跟踪显示相同(进程是一个websphere applciation服务器进程) 1)虽然我们正在处理NFS服务器端的问题,有没有办法从代码方面避免这种情况? 2)如果底层连接是基于tcp的(我认为是这样),tcp读/连接超时是否照顾这个? 基本上我想线程被返回到游泳池,而不是等待无限的对方回应。 3)或者这是源应用程序中的nfs客户端应该注意的事情? 客户端的一些configuration设置与nfs有关(因为FileInputStream.open不知道它正在尝试读取的文件是在本地服务器还是在nfs服务器中的共享文件夹) 在此先感谢您的答案:) 我们在WAS 7.0上使用java 1.6 [8/2/15 19:52:41:219 GST] 00000023 ThreadMonitor W WSVR0605W: Thread "WebContainer : 77" (00003c2b) has been active for 763879 milliseconds and may be hung. There is/are 110 thread(s) in total in the server that may be hung. at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:113) at […]

如何限制发送电子邮件的第三方工具?

我有一个运行Jenkins持续集成服务器的(Win2008 R2)框。 这是一个作为Windows服务运行的Java程序。 命令行如下所示: > "C:\Program Files (x86)\Jenkins\jre\bin\java.exe" -jar "C:\Program Files (x86)\Jenkins\jenkins.war" [more params] 我想让jenkins能够发送电子邮件(例如,当构build失败)。 该盒子运行一个McAffee防火墙,可以阻止除程序/端口白名单外的所有内容。 我添加了白名单规则,允许C:\Program Files (x86)\Jenkins\jre\bin\java.exe访问SMTP端口(25)。 问题是,第三方Java程序可以使用相同的java.exe来执行,因此将能够发送电子邮件。 我如何解决这个问题? FWIW Jenkins服务器作为特定用户帐户(“autobuild”)运行

Centos 6.6:当我不使用java -jar命令运行JAR / WAR文件时select哪个java?

在Centos 6.6服务器上,如何在不使用“java -jar”命令的情况下运行可执行JAR或WAR文件时如何select应该select哪个java。 我的意思是,我想用“./archive.war”命令来执行它。 在这台服务器上,我安装了java6,java7和java8。 用户root的PATH和JAVA_HOME指向java8(所有事情都由root完成)。 我想要执行的可执行WAR需要用java8运行。 当我用“java -jar”命令运行我的可执行文件WAR时,一切正常。 所选的Java版本是正确的。 […]# java -version java version "1.8.0" Java(TM) SE Runtime Environment (build 1.8.0-b132) Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode) 但是,当我尝试使用以下命令运行这场战争… ./archive.war 我得到一个Java版本的错误。 Exception in thread "main" java.lang.UnsupportedClassVersionError: <CLASS HERE!> : Unsupported major.minor version 52.0 这意味着Centos没有select预期的java8版本。 用户root的PATH和JAVA_HOMEvariables没有被考虑到? 我想我错过了一些东西,它会告诉系统在执行带有* .WAR / JAR文件扩展名的文件时必须使用哪个可执行文件? 目前,这必须指向java6或java7,而不是java8。