Subject: sun-jre14 Java VM issues - out of memory
To: None <port-i386@netbsd.org>
From: David Brownlee <abs@absd.org>
List: port-i386
Date: 03/10/2005 19:07:59
Anyone seeing strangeness with sun-jre14 under NetBSD 2.0?
Using the suse91 libraries, running a largist tomcat application.
Sooner or later it gets into a tight loop running the garbage
collector continually and reporting out of memory.
Running with -Xloggc gives a log full of:
603.217: [Full GC 128686K->128686K(303808K), 0.7896230 secs]
604.008: [Full GC 128686K->128686K(303808K), 0.8244400 secs]
[...]
Its run with:
-server -Xss1m -Xms300m -Xmx300m -Djava.awt.headless=true
values from 200m to 800m have been tried - the number in
parenthesis reflected the desired memory to use, but it always
gets to around 130M and hits this loop.
The shell is unlimited before starting the java process, a
sample list of limits would be:
proc.29527.corename = %n.core
proc.29527.rlimit.cputime.soft = unlimited
proc.29527.rlimit.cputime.hard = unlimited
proc.29527.rlimit.filesize.soft = unlimited
proc.29527.rlimit.filesize.hard = unlimited
proc.29527.rlimit.datasize.soft = 1073741824
proc.29527.rlimit.datasize.hard = 1073741824
proc.29527.rlimit.stacksize.soft = 2093056
proc.29527.rlimit.stacksize.hard = 33554432
proc.29527.rlimit.coredumpsize.soft = unlimited
proc.29527.rlimit.coredumpsize.hard = unlimited
proc.29527.rlimit.memoryuse.soft = unlimited
proc.29527.rlimit.memoryuse.hard = unlimited
proc.29527.rlimit.memorylocked.soft = unlimited
proc.29527.rlimit.memorylocked.hard = unlimited
proc.29527.rlimit.maxproc.soft = 4085
proc.29527.rlimit.maxproc.hard = 4085
proc.29527.rlimit.descriptors.soft = 65536
proc.29527.rlimit.descriptors.hard = 65536
proc.29527.stopfork = 0
proc.29527.stopexec = 0
proc.29527.stopexit = 0
maxproc is 4096 and maxfiles is 65536, and neither of those
should be being hit.
Interestingly a ktrace of an affected process includes:
16955 java CALL mincore(0xae5ff438,0)
16955 java RET mincore 0
16955 java CALL ntp_gettime(2,0,0xae5ff228,8)
16955 java RET ntp_gettime 0
16955 java CALL #179 (unimplemented)(0xae5ff228,8)
11961 java CALL kill(0x7298, SIGPWR)
11961 java RET kill 0
29336 java RET #179 (unimplemented) -1 errno -4 Unknown error: 4294967292
29336 java PSIG SIGRT0 caught handler=0x48076fd0 mask=(3))
29336 java CALL #119 (obsolete resuba)(0xbd7ff3d4)
29336 java RET #119 (obsolete resuba) JUSTRETURN
29336 java CALL ntp_gettime(2,0,0xbd7ff440,8)
29336 java RET ntp_gettime 0
29336 java CALL #179 (unimplemented)(0xbd7ff440,8)
11961 java CALL kill(0x7298, SIGPWR)
11961 java RET kill 0
29336 java RET #179 (unimplemented) -1 errno -4 Unknown error: 4294967292
29336 java PSIG SIGRT0 caught handler=0x48076fd0 mask=(3))
29336 java CALL #119 (obsolete resuba)(0xbd7ff3cc)
29336 java RET #119 (obsolete resuba) JUSTRETURN
29336 java CALL ntp_gettime(2,0,0xbd7ff510,8)
29336 java RET ntp_gettime 0
29336 java CALL #179 (unimplemented)(0xbd7ff510,8)
11961 java CALL kill(0x7298, SIGPWR)
11961 java RET kill 0
29336 java RET #179 (unimplemented) -1 errno -4 Unknown error: 4294967292
29336 java PSIG SIGRT0 caught handler=0x48076fd0 mask=(3))
29336 java CALL #119 (obsolete resuba)(0xbd7ff49c)
29336 java RET #119 (obsolete resuba) JUSTRETURN
29336 java CALL ntp_gettime(2,0,0xbd7ff4c4,8)
29336 java RET ntp_gettime 0
29336 java CALL #179 (unimplemented)(0xbd7ff4c4,8)
11961 java CALL kill(0x7298, SIGPWR)
11961 java RET kill 0
29336 java RET #179 (unimplemented) -1 errno -4 Unknown error: 4294967292
29336 java PSIG SIGRT0 caught handler=0x48076fd0 mask=(3))
29336 java CALL #119 (obsolete resuba)(0xbd7ff450)
29336 java RET #119 (obsolete resuba) JUSTRETURN
29336 java CALL ntp_gettime(2,0,0xbd7ff4f8,8)
29336 java RET ntp_gettime 0
29336 java CALL #179 (unimplemented)(0xbd7ff4f8,8)
11961 java CALL kill(0x7298, SIGPWR)
11961 java RET kill 0
29336 java RET #179 (unimplemented) -1 errno -4 Unknown error: 4294967292
29336 java PSIG SIGRT0 caught handler=0x48076fd0 mask=(3))
29336 java CALL #119 (obsolete resuba)(0xbd7ff484)
29336 java RET #119 (obsolete resuba) JUSTRETURN
29336 java CALL ntp_gettime(2,0,0xbd7ff494,8)
29336 java RET ntp_gettime 0
29336 java CALL #179 (unimplemented)(0xbd7ff494,8)
11961 java CALL ntp_gettime(2,0,0xbd9ff544,8)
11961 java RET ntp_gettime 0
11961 java CALL #179 (unimplemented)(0xbd9ff544,8)
12631 java CALL mincore(0xbdbff9cc,0)
12631 java RET mincore 0
12631 java CALL mincore(0xbdbff9cc,0)
12631 java RET mincore 0
12631 java CALL mincore(0xbdbff878,0)
12631 java RET mincore 0
12631 java CALL mincore(0xbdbff88c,0)
12631 java RET mincore 0
12631 java CALL mincore(0xbdbff878,0)
12631 java RET mincore 0
12631 java CALL mincore(0xbdbff734,0)
12631 java RET mincore 0
12631 java CALL write(3,0x64284000,0x11)
12631 java GIO fd 3 wrote 17 bytes
"424.229: [Full GC"
--
David Brownlee -- abs@absd.org