high default JVM memory usage / memory footprint on AMD 64
I'm seeing a default java 1.6 memory usage of over 250MB when running an empty main() that just sleeps when the jvm's run with -Xms16m -Xmx32m. I've already read this thread:
http://forum.java.sun.com/thread.jspa?threadID=651637&start=0&tstart=0
I've tried tweaking -XX:ReservedCodeCacheSize but I can only get that number down to about 200MB. pmap shows a bunch of anonymous r/w areas that are consuming much of the memory.
This problem is exacerbated when running Tomcat. I see memory usage shoot up to 750MB - 1GB despite limiting max heap size.
Any help is greatly appreciated.
java version "1.6.0"
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0-b105, mixed mode)
Linux 2.6.16.29-xen #3 SMP Sun Oct 15 13:15:34 BST 2006 x86_64 GNU/Linux
Here's MyMain:
package com.me;
publicclass MyMain
{
publicstaticvoid main(String[] args)throws Exception
{
Thread.sleep(60000);
}
}
Here's the pmap:
12170:java -Xms16m -Xmx32m -cp /home/me com.me.MyMain
AddressKbytes Mode OffsetDeviceMapping
000000004000000036 r-x-- 0000000000000000 008:00001 java
00000000401080008 rwx-- 0000000000008000 008:00001 java
000000004010a000132 rwx-- 000000004010a000 000:00000[ anon ]
000000004012b00012 -- 000000004012b000 000:00000[ anon ]
000000004012e0001016 rwx-- 000000004012e000 000:00000[ anon ]
000000004022c0004 -- 000000004022c000 000:00000[ anon ]
000000004022d0001024 rwx-- 000000004022d000 000:00000[ anon ]
000000004032d00012 -- 000000004032d000 000:00000[ anon ]
00000000403300001016 rwx-- 0000000040330000 000:00000[ anon ]
000000004042e00012 -- 000000004042e000 000:00000[ anon ]
00000000404310001016 rwx-- 0000000040431000 000:00000[ anon ]
000000004052f00012 -- 000000004052f000 000:00000[ anon ]
00000000405320001016 rwx-- 0000000040532000 000:00000[ anon ]
000000004063000012 -- 0000000040630000 000:00000[ anon ]
00000000406330001016 rwx-- 0000000040633000 000:00000[ anon ]
000000004073100012 -- 0000000040731000 000:00000[ anon ]
00000000407340001016 rwx-- 0000000040734000 000:00000[ anon ]
000000004083200012 -- 0000000040832000 000:00000[ anon ]
00000000408350001016 rwx-- 0000000040835000 000:00000[ anon ]
00000000409330004 -- 0000000040933000 000:00000[ anon ]
00000000409340001024 rwx-- 0000000040934000 000:00000[ anon ]
00002aaaaaab300028 r-x-- 0000000000000000 008:00001 librt-2.3.6.so
00002aaaaaaba0001024 -- 0000000000007000 008:00001 librt-2.3.6.so
00002aaaaabba0008 rwx-- 0000000000007000 008:00001 librt-2.3.6.so
00002aaaaabbc0004 r-x-- 00002aaaaabbc000 000:00000[ anon ]
00002aaaaabbd0004 rwx-- 00002aaaaabbd000 000:00000[ anon ]
00002aaaaabbe00028 r-x-- 0000000000000000 008:00001 libhpi.so
00002aaaaabc50001028 -- 0000000000007000 008:00001 libhpi.so
00002aaaaacc60008 rwx-- 0000000000008000 008:00001 libhpi.so
00002aaaaacc80004 rwx-- 00002aaaaacc8000 000:00000[ anon ]
00002aaaaaccd00080 r-x-- 0000000000000000 008:00001 libnsl-2.3.6.so
00002aaaaace10001020 -- 0000000000014000 008:00001 libnsl-2.3.6.so
00002aaaaade00008 rwx-- 0000000000013000 008:00001 libnsl-2.3.6.so
00002aaaaade20008 rwx-- 00002aaaaade2000 000:00000[ anon ]
00002aaaaade400028 r-x-- 0000000000000000 008:00001 libnss_compat-2.3.6.so
00002aaaaadeb0001024 -- 0000000000007000 008:00001 libnss_compat-2.3.6.so
00002aaaaaeeb0008 rwx-- 0000000000007000 008:00001 libnss_compat-2.3.6.so
00002aaaaaeed00036 r-x-- 0000000000000000 008:00001 libnss_nis-2.3.6.so
00002aaaaaef60001024 -- 0000000000009000 008:00001 libnss_nis-2.3.6.so
00002aaaaaff60008 rwx-- 0000000000009000 008:00001 libnss_nis-2.3.6.so
00002aaaaaff800040 r-x-- 0000000000000000 008:00001 libnss_files-2.3.6.so
00002aaaab0020001020 -- 000000000000a000 008:00001 libnss_files-2.3.6.so
00002aaaab1010008 rwx-- 0000000000009000 008:00001 libnss_files-2.3.6.so
00002aaaab10300032 rwxs- 0000000000000000 008:00001 12170
00002aaaab10b00052 r-x-- 0000000000000000 008:00001 libverify.so
00002aaaab1180001020 -- 000000000000d000 008:00001 libverify.so
00002aaaab21700012 rwx-- 000000000000c000 008:00001 libverify.so
00002aaaab21a000160 r-x-- 0000000000000000 008:00001 libjava.so
00002aaaab2420001024 -- 0000000000028000 008:00001 libjava.so
00002aaaab34200028 rwx-- 0000000000028000 008:00001 libjava.so
00002aaaab34900056 r-x-- 0000000000000000 008:00001 libzip.so
00002aaaab3570001032 -- 000000000000e000 008:00001 libzip.so
00002aaaab45900012 rwx-- 0000000000010000 008:00001 libzip.so
00002aaaab45c0002500 rwx-- 00002aaaab45c000 000:00000[ anon ]
00002aaaab6cd00046656 rwx-- 00002aaaab6cd000 000:00000[ anon ]
00002aaaae45d00040 rwx-- 00002aaaae45d000 000:00000[ anon ]
00002aaaae467000728 rwx-- 00002aaaae467000 000:00000[ anon ]
00002aaaae5200005440 rwx-- 00002aaaae520000 000:00000[ anon ]
00002aaaaea700005440 rwx-- 00002aaaaea70000 000:00000[ anon ]
00002aaaaefc000010944 rwx-- 00002aaaaefc0000 000:00000[ anon ]
00002aaaafa7000010944 rwx-- 00002aaaafa70000 000:00000[ anon ]
00002aaab052000021248 rwx-- 00002aaab0520000 000:00000[ anon ]
00002aaab19e000064768 rwx-- 00002aaab19e0000 000:00000[ anon ]
00002aaab592000012 rwx-- 00002aaab5920000 000:00000[ anon ]
00002aaab59230008 rwx-- 00002aaab5923000 000:00000[ anon ]
00002aaab592500024 rwx-- 00002aaab5925000 000:00000[ anon ]
00002aaab592b00020 rwx-- 00002aaab592b000 000:00000[ anon ]
00002aaab593000044 rwx-- 00002aaab5930000 000:00000[ anon ]
00002aaab593b000124 rwx-- 00002aaab593b000 000:00000[ anon ]
00002aaab595a00028 rwx-- 00002aaab595a000 000:00000[ anon ]
00002aaab596100020 rwx-- 00002aaab5961000 000:00000[ anon ]
00002aaab596600044 rwx-- 00002aaab5966000 000:00000[ anon ]
00002aaab5971000128 rwx-- 00002aaab5971000 000:00000[ anon ]
00002aaab59910001184 rwx-- 00002aaab5991000 000:00000[ anon ]
00002aaab5ab90001512 r-xs- 00000000027a6000 008:00001 rt.jar
00002b2edb33c00092 r-x-- 0000000000000000 008:00001 ld-2.3.6.so
00002b2edb3530008 rwx-- 00002b2edb353000 000:00000[ anon ]
00002b2edb4520008 rwx-- 0000000000016000 008:00001 ld-2.3.6.so
00002b2edb45400064 r-x-- 0000000000000000 008:00001 libpthread-2.3.6.so
00002b2edb4640001020 -- 0000000000010000 008:00001 libpthread-2.3.6.so
00002b2edb5630008 rwx-- 000000000000f000 008:00001 libpthread-2.3.6.so
00002b2edb56500020 rwx-- 00002b2edb565000 000:00000[ anon ]
00002b2edb56a00028 r-x-- 0000000000000000 008:00001 libjli.so
00002b2edb5710001028 -- 0000000000007000 008:00001 libjli.so
00002b2edb6720008 rwx-- 0000000000008000 008:00001 libjli.so
00002b2edb6740008 r-x-- 0000000000000000 008:00001 libdl-2.3.6.so
00002b2edb6760001020 -- 0000000000002000 008:00001 libdl-2.3.6.so
00002b2edb7750008 rwx-- 0000000000001000 008:00001 libdl-2.3.6.so
00002b2edb7770001156 r-x-- 0000000000000000 008:00001 libc-2.3.6.so
00002b2edb8980001024 -- 0000000000121000 008:00001 libc-2.3.6.so
00002b2edb99800084 r-x-- 0000000000121000 008:00001 libc-2.3.6.so
00002b2edb9ad00012 rwx-- 0000000000136000 008:00001 libc-2.3.6.so
00002b2edb9b000024 rwx-- 00002b2edb9b0000 000:00000[ anon ]
00002b2edb9b60006632 r-x-- 0000000000000000 008:00001 libjvm.so
00002b2edc0300001032 -- 000000000067a000 008:00001 libjvm.so
00002b2edc1320001200 rwx-- 000000000067c000 008:00001 libjvm.so
00002b2edc25e000236 rwx-- 00002b2edc25e000 000:00000[ anon ]
00002b2edc29d000516 r-x-- 0000000000000000 008:00001 libm-2.3.6.so
00002b2edc31e0001020 -- 0000000000081000 008:00001 libm-2.3.6.so
00002b2edc41d0008 rwx-- 0000000000080000 008:00001 libm-2.3.6.so
00007fffffbba00084 rwx-- 00007fffffbba000 000:00000[ stack ]
ffffffffff6000008192 -- 0000000000000000 000:00000[ anon ]
mapped: 215700Kwriteable/private: 181384Kshared: 1544K

