公司有一台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"
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异常。
分享到:
相关推荐
总之,Bea JRockit j2sdk 1.4.2_05 win32是一个专为性能而生的Java运行时环境,尤其适合处理大型、复杂的企业级应用,其优秀的内存管理和垃圾回收机制为开发者提供了可靠的保障。虽然现在已被Oracle的Java SE所取代...
JRockit Mission Control 是 BEA(现已被 Oracle 收购)推出的一款强大的 Java 应用性能管理和诊断工具,特别适用于检测和解决内存泄漏问题。这个工具集在 JRockit R26.0.0 及后续版本中捆绑提供,最新版本为 2.0.1...
选择JVM应根据具体的应用需求,比如对性能敏感的系统可能更适合JRockit,而对开源生态支持和跨平台兼容性有要求的项目可能倾向于使用OpenJDK。开发者需要考虑性能、稳定性、许可证、社区支持等多个因素来决定最适合...
- **定义**:JRockit是由BEA Systems(后被Oracle收购)开发的一款高性能Java虚拟机(JVM),专门针对服务器端的应用进行了优化。 - **特点**:JRockit在设计之初就着眼于服务器环境下的性能和稳定性,具备出色的内存...
例如,对于需要低暂停时间的应用,CMS是一个好选择,而G1则在大内存应用中表现优秀。 2. **JRockit Mission Control (JMC)**:这是一款强大的工具,可以帮助开发者监控和分析JVM的性能。通过JMC,我们可以实时查看...
JRockit是BEA Systems公司(现已被Oracle收购)开发的一款专为大型企业级应用设计的Java虚拟机(JVM)。它以其卓越的性能、稳定的运行环境以及强大的管理工具在业界享有盛誉。对于那些对性能有极高要求的应用场景来...
**Java Development Kit (JDK) 1.6.0-45** JDK(Java Development Kit)是Oracle公司提供的用于开发和运行Java应用程序的核心...这个版本为开发者提供了高效且稳定的Java开发平台,特别适合对性能有高要求的应用场景。
书中详细介绍了JRockit Mission Control,这是一个强大的工具集,允许开发者远程访问JRockit JVM,进行性能分析、内存诊断和故障排查。Mission Control的前身是内部开发工具,随着时间的发展,它已经成为JRockit开发...
Oracle 公司收购 BEA Systems 后,将 JRockit 整合到 Java 平台标准版中。然而,Oracle 公司后来推出了 HotSpot,旨在取代 JRockit。HotSpot 是一款高性能、低延迟的 Java 虚拟机,提供了更好的性能和可扩展性。 ...
* 性能优化:HotSpot 的性能优化机制不同于 JRockit,需要了解如何优化应用程序以获得更好的性能。 * Compatibility:需要确保应用程序在 HotSpot 环境中能正常工作,包括兼容性问题和依赖项问题。 三、迁移指南 ...
jRockit是一款高性能的Java虚拟机,由BEA Systems开发,后被Oracle公司收购。jRockit具有优秀的自动化优化能力,但为了进一步提升性能,了解并掌握其调优策略至关重要。 一、jRockit垃圾收集器选择 jRockit支持四...
2. **即时编译(JIT)技术**:JRockit的JIT编译器被称为"BEA JRockit Mission Control",它具有更先进的静态和动态分析能力,能更有效地优化代码,提高运行速度。 3. **并发和多线程优化**:JRockit在并发处理上...
通过对WebLogic Server 9.x进行有效的内存监控和管理,特别是通过BEA JRockit及其内置的Memory Leak Detector工具,可以显著提高应用服务器的稳定性和性能。这不仅有助于及时发现并解决内存泄漏问题,还可以确保应用...
JRockit 虚拟机是 Oracle 收购 BEA Systems 后获得的技术,具有高性能和低延迟的特点。HotSpot 虚拟机是 Oracle 公司自主开发的虚拟机,具有高性能、低延迟和高可扩展性的特点。 迁移步骤 1. 评估当前环境:评估...
首先,Oracle应用服务器的战略调整体现在WebLogic、Tuxedo和JRockit的融合。WebLogic,作为BEA的旗舰级J2EE服务器,将取代Oracle原有的J2EE容器,成为Oracle的新基础设施。预计下一个版本的WebLogic可能会命名为...
总的来说,WebLogic Real Time结合了BEA JRockit JVM的优势,为开发者提供了一个能够在Java平台上实现高效率、低延迟和高确定性的实时应用开发环境。通过对实时计算基础知识的理解和WLRT的运用,企业能够构建出更...