我有这个需要一些内存调整的 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
带有in 的Tomcat 6startup.sh
- RHEL4 64 位 (
- 我的 webapp 目前有一些代码在生产中需要运行 64 位的好处。
- 我观察到一段时间(一周)后,JVM 常驻内存大小(如顶部所示)是我的 -Xmx 设置大小的 三倍。
- 非堆内存大小等都相对微不足道,仅占堆大小的个位数百分比
- 只有一段代码需要 64 位位地址空间
如果我可以重构出对 64 位 JVM 的需求并放弃该-d64
开关,这是否会使 JVM 的驻留内存占用更小?换句话说...
-d64
该开关对 Sun JVM 常驻内存使用有什么影响(如果有的话) ?