Articles of java

java.exe和javaw.exe有什么区别?

在Windows Server上,我有两种Java进程 java.exe javaw.exe 有什么区别 ?

Glassfish VS Tomcat(Java应用服务器)

我正在寻找在我的debian linux web服务器上运行java应用程序服务器,并且正在寻找使用任一应用程序服务器将为我提供(或缺点)优点的细目。 我使用Apache 2作为我的networking服务器,如果它将提供一个更好的工作环境,使用非免费的应用程序服务器没有问题。 这将用于一组相当简单的应用程序。

如何监视基于Windows的JVM的内存使用情况,如果过高则触发警报?

我有一个在Windows 2008中作为JVM运行的应用程序。我想监视它的内存使用情况,并在内存使用达到特定阈值时发送电子邮件。 有没有免费的工具或方法来做到这一点?

从openjdk切换到sun java后,Tomcat ClassNotFoundException

我们将我们的java版本从openjdk jre 1.7切换到sun jre 1.7,现在启动tomcat时出现以下错误: SEVERE: Begin event threw error java.lang.NoClassDefFoundError: org.apache.catalina.mbeans.ServerLifecycleListener at java.lang.Class.initializeClass(libgcj.so.10) at java.lang.Class.newInstance(libgcj.so.10) at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:206) at org.apache.tomcat.util.digester.Rule.begin(Rule.java:153) at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1356) at gnu.xml.stream.SAXParser.parse(libgcj.so.10) at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1642) at org.apache.catalina.startup.Catalina.load(Catalina.java:524) at org.apache.catalina.startup.Catalina.load(Catalina.java:562) at java.lang.reflect.Method.invoke(libgcj.so.10) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:261) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) Caused by: java.lang.ClassNotFoundException: javax.management.modelmbean.ModelMBeanNotificationBroadcaster not found in org.apache.catalina.loader.StandardClassLoader{urls=[file:/opt/apache-tomcat-6.0.35/lib/,file:/opt/apache-tomcat-6.0.35/lib/el-api.jar,file:/opt/apache-tomcat-6.0.35/lib/jasper-el.jar,file:/opt/apache-tomcat-6.0.35/lib/tomcat-i18n-fr.jar,file:/opt/apache-tomcat-6.0.35/lib/jsp-api.jar,file:/opt/apache-tomcat-6.0.35/lib/catalina.jar,file:/opt/apache-tomcat-6.0.35/lib/jasper.jar,file:/opt/apache-tomcat-6.0.35/lib/servlet-api.jar,file:/opt/apache-tomcat-6.0.35/lib/catalina-tribes.jar,file:/opt/apache-tomcat-6.0.35/lib/catalina-ha.jar,file:/opt/apache-tomcat-6.0.35/lib/tomcat-dbcp.jar,file:/opt/apache-tomcat-6.0.35/lib/tomcat-coyote.jar,file:/opt/apache-tomcat-6.0.35/lib/tomcat-i18n-ja.jar,file:/opt/apache-tomcat-6.0.35/lib/ecj-3.7.jar,file:/opt/apache-tomcat-6.0.35/lib/catalina-ant.jar,file:/opt/apache-tomcat-6.0.35/lib/tomcat-i18n-es.jar,file:/opt/apache-tomcat-6.0.35/lib/annotations-api.jar], parent=gnu.gcj.runtime.SystemClassLoader{urls=[file:/opt/apache-tomcat-6.0.35/bin/bootstrap.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}} at java.net.URLClassLoader.findClass(libgcj.so.10) at java.lang.ClassLoader.loadClass(libgcj.so.10) at java.lang.ClassLoader.loadClass(libgcj.so.10) at java.lang.VMClassLoader.defineClass(libgcj.so.10) […]

Ubuntu LTS 10.04.2的Tomcat7 PPA

有谁知道将安装tomcat7的ppa / repo。 我知道我可以从源代码安装,但我宁愿如果可能的话使用PPA /回购。 我发现太阳咳嗽 oracle-java是一个不错的,但似乎没有任何tomcat7到目前为止。 我已经安装tomcat6没有问题,并像布局。 我们正在validation我们的tomcat7的应用程序,我想有一个坚实的生产准备安装。 这里是在干净的Ubuntu LTS服务器上安装sun cough oracle-java的作弊: sudo apt-get install python-software-properties sudo add-apt-repository ppa:sun-java-community-team / sun-java6 sudo apt-get update sudo apt-get install sun-java6-jdk ubuntu @ ubuntu:/ etc / apt $ java -version java版本“1.6.0_24” Java(TM)SE运行时环境(build 1.6.0_24-b07) Java HotSpot(TM)64位服务器虚拟机(构build19.1-b02,混合模式)

停止Tomcat后SSH无响应,许多ksoftirqd CPU使用率

我有一个奇怪的问题。 每当我停止Tomcat,SSH变得非常缓慢,几乎完全没有响应。 SSH需要一分钟甚至更多时间才能接受任何命令。 当我终于使Tomcat重新开始时,一切都恢复正常。 这发生在一个非常繁忙的服务器上。 问题是我需要经常停止Tomcat,因为应用程序升级。 升级通常需要几秒钟的时间,但这需要将近10分钟,因此我们正在经历不必要的停机时间。 我看到的一件事是,当我停止Tomcat top显示了100%CPU的ksoftirqd/X进程。 这可能是问题吗? 内核版本是: 2.6.18-308.11.1.el5 红帽版本是: Red Hat Enterprise Linux Server release 5.9 (Tikanga) 任何想法为什么发生这种情况?

无法在OpenVZ上创buildJava虚拟机

在安装apt-get时,我经常遇到与在OpenVZ上运行的Ubuntu服务器上的Java和证书有关的错误。 我很确定它与Java如何分配内存有关。 我知道privvmpages的失败计数器非常高,所以问题一定是Java正在达到这个极限。 我已经读过,服务器虚拟机将预先分配大量内存来抢占性能问题,但客户端虚拟机不会这样做,可能会对我所做的更好。 我搞砸了jvm.cfg使系统转到客户端虚拟机,但得到一个错误,它找不到客户端虚拟机。 我已经尝试用-Xms和-Xmx设置来调用Java的脚本replaceJava二进制文件,并解决了当我从命令行调用基本的东西时的问题,而不是在执行apt-getconfiguration证书时。 我不知道接下来要做什么。 我需要得到这个工作,但只是增加privvmpages不是一个可用的选项。 我有下面粘贴的实际错误。 Setting up ca-certificates-java (20100412) … creating /etc/ssl/certs/java/cacerts… Could not create the Java virtual machine. error adding brasil.gov.br/brasil.gov.br.crt error adding cacert.org/cacert.org.crt error adding debconf.org/ca.crt error adding gouv.fr/cert_igca_dsa.crt error adding gouv.fr/cert_igca_rsa.crt error adding mozilla/ABAecom_=sub.__Am._Bankers_Assn.=_Root_CA.crt error adding mozilla/AOL_Time_Warner_Root_Certification_Authority_1.crt error adding mozilla/AOL_Time_Warner_Root_Certification_Authority_2.crt error adding mozilla/AddTrust_External_Root.crt error adding mozilla/AddTrust_Low-Value_Services_Root.crt error adding […]

使用ab运行一些基准,而tomcat开始真的放慢速度

我正在运行一些基准使用Apache的工作台上运行的Tomcat上的Java应用程序。 说我运行一个testing,如: ab -c 10 -n 10000 http://localhost:8080/hello/world 它会运行得很好。 如果我遵循它: ab -c 50 -n 50000 http://localhost:8080/hello/world 它会再次运行良好,但如果我再试一次,它可能会在3500个完成的请求后开始减慢。 我试图debugging这个根本原因需要帮助。 我跑了上面,我有一些未使用的内存的演出,所以内存似乎不是问题。 tomcat6过程确实达到了70-80甚至107%。 似乎重新启动tomcat解决了这个问题,但有时需要重新启动服务器。 这是一个默认的tomcat安装,有200个线程分配给它。 Tomcat日志是空的。 更新 所以我把tcp_tw_recycle / reuse重新设置为1,现在运行netstat显示的计数很低。 在改变tcp_tw_recycle /重用之前,我注意到事情放缓并运行netstat,并且我有32400个tcp TIME_WAIT连接。 所以现在运行基准testing的更新,使用-k开关,我看到更多的吞吐量。 但是,在某些时候,事情再次开始放缓,但重新启动tomcat现在使事情恢复正常。 之前,即使我重新启动tomcat,运行ab的响应时间也会非常慢。 现在改变tcp_tw_recycle / reuse后,重新启动tomcat使事情恢复正常。 运行顶部显示tomcat只有CPU的20%左右,所以现在看来​​问题是与tomcat,但我怎么能弄清楚什么?

Tomcat-如何检查当前正在使用的内存设置

我已经使用Server 2008和IIS 7build立了一个Tomcat服务器。 我怎么知道JAVA_OPTS环境variables是否被实际使用? 我以前听说过,为了使JAVA_OPTS环境variables能够被使用,我必须编辑service.bat文件,但是如何判断它是否成功呢? 我一直无法确定是否有方法在日志中查看这些数据,或者是其他更加定量的数据。 我能想到的唯一方法就是编辑这个variables,试着去判断这个variables是否有差异。 我将JAVA_OPTS设置为以下内容: -server -Xmx1k -Xms1k-Xmn1k -Xss128k -XX:+UseParallelGC -XX:ParallelGCThreads=20 -XX:PermSize=1k -XX:MaxPermSize=1k 另外,我发现文档说在service.bat中更改以下行: "%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties" –JvmMs 128 –JvmMx 256 至: "%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties" %JAVA_OPTS% 我运行命令时没有错误 service install ServiceName 到目前为止,似乎一切运行的速度都像以前一样快,我重新安装了更改的内存设置的服务,使我认为JAVA_OPTS不影响任何东西。 对不起,如果这是一个广泛的问题,但我还没有find一个很好的结果,关于在后端实际发生的事情。 有人可以解释一下吗?

无法更改elasticsearch的vm.max_map_count

史前 我在CentOS 6.5上运行elasticsearch和SugarCRM7。 我每天都面临同样的问题:java outOfMemory错误。 发生这种情况是因为vm.max_map_count的值较小,只有在build议使用262144的情况下,才会出现65530。 问题 问题是,vm.max_map_count似乎是不可改变的: 在根目录下更改 sudo sysctl -w vm.max_map_count=262144 回报 错误:密钥“vm.max_map_count”上的权限被拒绝 而 ps aux | grep java 只返回grep进程 改变elasticsearch启动 sudo service elasticsearch start 也返回错误 错误:密钥“vm.max_map_count”上的权限被拒绝 启动elasticsearch:[确定] 通过文件手动更改(脏脏的黑客攻击): sudo vi /proc/sys/vm/max_map_count 也不工作: “/ proc / sys / vm / max_map_count”[只读] 1L,6C – 插入 – W10:警告:更改只读文件 E45:设置“readonly”选项(add!覆盖) “/ proc / sys / vm […]