我有一个需要进行内存优化的Web应用程序。虽然我已经在对应用程序进行分析和优化,但是我们最繁忙的实例中JVM本身似乎对我来说过于臃肿。(低容量实例没有这个问题。)详情如下:
- 平台:
- RHEL4 64位 (
Linux 2.6.9-78.0.5.ELsmp #1 SMP x86_64
) - Sun Java 6 (
Java HotSpot(TM) 64-Bit Server VM (build 10.0-b23, mixed mode)
) - 带有
-d64
的Tomcat 6startup.sh
- RHEL4 64位 (
- 我的Web应用程序目前有一些代码,在生产中需要运行在64位模式下。
- 我观察到,经过一段时间(一周),JVM 的常驻内存大小(如 top 所示)是我的 -Xmx 设置大小的三倍。
- 非堆内存大小等都相对较小,只占堆大小的百分之几。
- 只有一个代码部分需要使用64位地址空间。
如果我可以重构掉对64位JVM的需求,并删除-d64
开关,那么JVM的常驻内存占用会变小吗?换句话说...
对于Sun JVM的常驻内存使用情况,-d64
开关有什么影响(如果有)?