Windows服务启动Tomcat时的jvisualvm及PermGen配置(JAVA_OPTS)

服务的方式启动tomcat时,一般的Java参数配置方式将发生变化。原因是,启动tomcat时不再是catalina.bat或者startup.bat生效,这时若再把JAVA_OPTS配置到bat中将导致配置失效。

Windows 服务运行的tomcat路径比如是这样

D:\..\apache-tomcat-7.0.55\bin\tomcat7.exe //RS//Tomcat7

 

一、配置jvisualvm监控

打开注册表(regedit.exe),搜索 Options ;找到如下路径

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\Tomcat7\Parameters\Java\Options

 各自服务器的中tomcat配置在注册表的路径未必和我一致。

双击 Options 在原有数据值后面加上如下内容

-Dcom.sun.management.jmxremote.port=8999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

打开 jdk目录下的bin文件夹,打开jvisualvm.exe运行,在‘本地’ 上点右键 点击‘添加jmx链接。’

在弹出框中的链接框中,填写: localhost:8999 (上面配的端口号) 点 确定即可开始查看tomcat对cpu、内存、堆栈、permgen使用情况。

 

二、PermGen space配置

 

解决问题:启动tomcat   都报 java.lang.OutOfMemoryError: PermGen space

 

网上一般的解决办法都是去catalina.bat或者startup.bat加上如下一段代码,

JAVA_OPTS="-server -Xms800m -Xmx800m  -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "  

 

如果是服务方式来启动tomcat这样配置是无效的,tomcat启动没加载如上配置信息。

 

 

 java.lang.OutOfMemoryError: PermGen space 产生的原因请自行百度。

解决方法就是增大内存配置

操作方法,按上面步骤一在注册表中找到 Options  加上如下代码

-XX:PermSize=512M
-XX:MaxPermSize=1024M

 完毕,重启tomcat ,重启jvisualvm ;到 jvisualvm 中查看PermGen的大小,是不是已经改过来了呢!

 

三、 -Xms800m -Xmx800m  这两项目不能直接在 Options  中加,在注册表java文件夹下面的 JvmMs和JvmMx改值是这两值对应的项

 

 

注册表截图以供参考(附件

 

 

 

 

你可能感兴趣的:(Windows服务启动Tomcat时的jvisualvm及PermGen配置(JAVA_OPTS))