I've got this webapp that needs some memory tuning. While I'm already profiling the application itself and trimming things down, the JVM itself seems overly bloated to me on our busiest instance. (The lower volume instances do not have this problem.) The details:
- Platform:
- RHEL4 64-bit (
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)
)
- Tomcat 6 with
-d64
in startup.sh
- My webapp currently has some code that in production requires the benefits of running 64-bit.
- I've observed that after some time (a week) the JVMs resident memory size (as shown by top) is three times the size of my -Xmx setting.
- The non-heap memory size, etc are all relatively trivial, a mere single digit percentage of the heap size
- There is only one section of code that requires a 64-bit bit address space
If I could refactor out the need for a 64-bit JVM, and drop the -d64
switch, would that make the JVM's resident memory footprint smaller? In other words...
What impact, if any, does the -d64
switch have on the Sun JVM resident memory usage?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…