公司有一台linux pc server,配置AMD2800+,内存1G,安装了tomcat5.5+sun jdk6.0,上面跑了10个左右Web应用,例如一些开发管理系统、项目演示等,tomcat已经设置了-Xms256M -Xmx768M -XX:PermSize=64M -XX:MaxPermSize=256M这些虚拟机参数。另外服务器上还有subversion、apache、openldap等服务,但一般过一段时间会tomcat死一下,所以设置了一个每天晚上自动重新启动一下。
近来因为项目紧张,服务器用的人多了,出现内存不足,top显示使用了约500M的swap空间,频繁出现java out of memory,tomcat经常死机,严重影响工作。而且还出现晚上不能重新启动的问题,早上过来服务器不可用,影响一天心情。
上周向公司申请了采购了几根1G的内存,这台服务器只分到一根1G条,且只有两根内存插槽,将就一下,升级到1.5G内存,同时了解到Bea JRockit已经解决了PermSize的问题,决定使用jrockit vm试试,结果出乎我意料的好。
我下载的是jrockit sdk 6.0,在linux上设置JAVA_HOME指向安装目录,并把$JAVA_HOME/bin加到PATH变量,修改catalina.sh,在前面加入:
JAVA_OPTS="-server -Xms256M -Xmx576M"
原文:http://lucifer119.blog.51cto.com/2914308/1355123