On Sun, Mar 14, 2010 at 4:32 PM, Shockley, Gerard C <[email protected]> wrote: > Some time ago it was asserted that there was an issue within the Java 1.6 > code where an active timer loop was implemented in the JSDK for "performance > improvement". Thus causing an IDLE s390x system to appear to be using 99.X % > CPU with HIGH CPUTIME for the java process. > > I realize several colleagues were aware (GT 6 mos ago) and I've substantially > been able to stay clear of the 1.6 code, until today. New apps are driving > this requirement. > > Can anyone provide additional insight? Who is working on it?
My observations in this area were on JVM 1.5 that introduced a new optimizer that used polling to collect statistics for the profiler. According to my notes, JVM 1.5 SR4 introduced an unsupported and undocumented option to disarm it, and JVM 1.5 SR6 arranged to stop polling when there was no class active. So we should assume it's not present in your 1.6 JVM. But no guarantee that nothing else has been broken since... > strace reveals active function call in futex() > http://en.wikipedia.org/wiki/Futex > > This appears to be 100x worse then the old kernel timer pop event. There's also a kernel bug that rounds small delays to 0 which makes polling very painful. That would show by extremely high SIE intercepts (see ESACPUU) and high CP overhead. With the proper patches, the kernel will round the small delay up to 10 ms and reduce the CPU cost of polling (but it will still prevent the virtual machine dropping from queue when idle). If you're on a kernel 2.6.21 or later, you might want to pick up a copy of PowerTop which identifies the process that is polling (there's a s390x version at http://www.rvdheij.nl/linux/ ) You can match the PID against a java coredump and point fingers. Rob -- Rob van der Heij Velocity Software http://www.velocitysoftware.com/ ---------------------------------------------------------------------- For LINUX-390 subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
