当前位置: > Linux服务器 > Tomcat >

Windows下Tomcat服务的JVM设置相关

时间:2015-08-27 19:17来源:linux.it.net.cn 作者:IT
  在我的博文"Tomcat自启动"中提到了Windows下Tomcat配置成服务的方法,一直以为,直接在catalina.bat中设置JVM的参数,然而,最近在做一个项目,使用了缓存机制,JVM所需的内存空间较大,导致Tomcat服务莫名的down掉,而且查看catalina.out等日志文件,没有发现out of memory之类的异常。

       后来通过查看操作系统的本身的系统日志,发现Tomcat异常退出,并在系统目录system32目录找到tomcat的异常日志文件hs_err_pid2676.log,2676为当时Tomcat服务启动时的进程号。查看文件,发现

 0x4513cc00 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=576, stack(0x454e0000,0x45530000)]
=>0x45139800 JavaThread "CompilerThread1" daemon [_thread_in_native, id=7516, stack(0x45490000,0x454e0000)]

 

Heap
 PSYoungGen      total 43712K, used 18992K [0x3f260000, 0x42da0000, 0x447b0000)
  eden space 28416K, 63% used [0x3f260000,0x40420198,0x40e20000)
  from space 15296K, 5% used [0x41eb0000,0x41f7c000,0x42da0000)
  to   space 16128K, 0% used [0x40e20000,0x40e20000,0x41de0000)
 PSOldGen        total 466048K, used 31595K [0x147b0000, 0x30ed0000, 0x3f260000)
  object space 466048K, 6% used [0x147b0000,0x1668ac30,0x30ed0000)
 PSPermGen       total 131072K, used 129761K [0x047b0000, 0x0c7b0000, 0x147b0000)
  object space 131072K, 99% used [0x047b0000,0x0662e098,0x0c7b0000)

jvm_args: -Dcatalina.base=C:\ProgramM\tomcat\5180-jss -Dcatalina.home=C:\ProgramM\tomcat\5180-jss -Djava.endorsed.dirs=C:\ProgramM\tomcat\5180-jss\endorsed -Djava.io.tmpdir=C:\ProgramM\tomcat\5180-jss\temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=C:\ProgramM\tomcat\5180-jss\conf\logging.properties-Xms128m -Xmx256m 

 

我的JVM参数配置未生效,仍然是默认配置。

在网上查找了一番资料后,发现通过windows服务启动, 执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置。必须修改注册表或通过tomcat6w.exe里的java 选项修改。


1 解决办法:
修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat6\Parameters\JavaOptions
原值为
-Dcatalina.home=E:\Tomcat 6.0
-Dcatalina.base=E:\Tomcat 6.0
-Djava.endorsed.dirs=E:\Tomcat 6.0\common\endorsed
-Djava.io.tmpdir=E:\Tomcat 6.0\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=E:\Tomcat 6.0\conf\logging.properties

加入 -Xms256m -Xmx512m  

 

打开tomcat服务管理器的java页,如 

 

在Java Options里面输入需要设置的参数,如设置permsize的内存 
-XX:PermSize=64M 
-XX:MaxPermSize=192m 
-XX:ReservedCodeCacheSize=48m 
-Duser.timezone=GMT+08 
注:每一行后面都不能有空格。 

 

参考自:

http://liuazh.iteye.com/blog/629739

http://201202104504.iteye.com/blog/1436606

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容