bea jrockit的确是个生产应用的好平台
2014-01-27 17:36
239 查看
公司有一台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代码
JAVA_OPTS="-server -Xms256M -Xmx576M"
jrockit已经不需要-XX:PermSize这样的参数了。
使用一个星期以来,Tomcat从来没有死过,内存使用一直稳定在565M左右,系统总内存稳定在1480M左右,相当的稳定,而且java应用的速度感觉有很大的提高。
总体来说,我全力推荐在生产应用服务器上使用jrockit vm,它会给你带来意想不到的惊喜。但本地开发我还是选择使用sun java sdk,在我的开发机上,jrockit吃内存相对厉害,而我只有1G的内存。
注:所谓PermSize,是指vm为类描述信息分配的内存空间,随着动态类等技术的广泛应用,这一内存区默认的64M大小已经不能满足需要,而且,sun vm对这部分内存居然无法进行gc,所以需要设置一个比较大的PermSize。但长时间运行后特别是频繁进行JavaEE应用部署的话,仍然会出现out of memory异常。
近来因为项目紧张,服务器用的人多了,出现内存不足,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代码
JAVA_OPTS="-server -Xms256M -Xmx576M"
jrockit已经不需要-XX:PermSize这样的参数了。
使用一个星期以来,Tomcat从来没有死过,内存使用一直稳定在565M左右,系统总内存稳定在1480M左右,相当的稳定,而且java应用的速度感觉有很大的提高。
总体来说,我全力推荐在生产应用服务器上使用jrockit vm,它会给你带来意想不到的惊喜。但本地开发我还是选择使用sun java sdk,在我的开发机上,jrockit吃内存相对厉害,而我只有1G的内存。
注:所谓PermSize,是指vm为类描述信息分配的内存空间,随着动态类等技术的广泛应用,这一内存区默认的64M大小已经不能满足需要,而且,sun vm对这部分内存居然无法进行gc,所以需要设置一个比较大的PermSize。但长时间运行后特别是频繁进行JavaEE应用部署的话,仍然会出现out of memory异常。
相关文章推荐
- hadoop第一篇
- Magento添加分类属性
- hadoop第一篇
- 对联想“吃剩饭”策略的简单解读
- Java 开发中常见的异常问题
- 小孩肺炎判断
- PermGen space 溢出 使用jstat查看 Permsize 占用情况 并设置 PermSize和MaxPermSize
- 采用链地址法处理冲突构造哈希表
- PHP生成N个不重复的随机数
- 自动化ui 保存max场景信息 结构化处理比较好用
- struts2 action参数接受方式
- Linux Debugging(五): coredump 分析入门
- Linux Debugging(五): coredump 分析入门
- Http 四种请求访问代码 HttpGet HttpPost HttpPut HttpDelete
- 眼球取代键盘,指日可待
- 【C++】浙大PAT (Basic Level)1016. 部分A+B (15)
- C++ 的cin输入注意【转】----cin的状态
- 代码简洁化——Objective-C中的Literals
- 【如饥似渴】之《class》
- 最快的内容查找算法-----暴雪的Hash算法