JVM参数设置

JVM内存大小 = 堆内存 + 非堆内存
-Xms 设置最小堆内存 
-Xmx 设置最大堆内存
一般建议-Xms 和 -Xmx设置相同,以避免每次垃圾回收完成后JVM重新分配内存.
-XX:PermSize 设置最小非堆内存,
-XX:MaxPermSize 设置最大非堆内存
 
如果是windows系统,修改catalina.bat后,用catalina.bat启动会生效,但是通过windows服务启动不会生效,需要进注册表修改
具体位置:
网上给出的位置是:HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Tomcat Service Manager/Tomcat5/Parameters/Java/Options
但我本地的位置是:HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Procrun 2.0/Tomcat5/Parameters/Java/Options
 
 
1.java.lang.OutOfMemoryError: unable to create new native thread
建议增加-Xss128k参数

-Xss128k: 设置每个线程的堆栈大小.JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K.根据应用的线程所需内存大小进行调整.在相同物理内存下,减小这个值能生成更多的线程.但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右.

2.java.lang.OutOfMemoryError: PermGen space
原因可能是-XX:MaxPermSize 值小了。有可能是在 catalina.bat 中加了-XX:MaxPermSize=256m没有生效。
 
 
所以建议参数设置为:-Xms1024m -Xmx1024m -Xss128k -XX:MaxPermSize=256m
如果是windows服务启动,需要加在注册表中才能生效。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值