doctau / garbagecat

http://code.google.com/a/eclipselabs.org/p/garbagecat/
8 stars 2 forks source link

GCTimeLimit lines not recognized #5

Open doctau opened 10 years ago

doctau commented 10 years ago

http://code.google.com/a/eclipselabs.org/p/garbagecat/issues/detail?id=28

Log lines that have "GC time would exceed GCTimeLimit" and "GC time is exceeding GCTimeLimit" messages are not being recognized. Here is a sample:

25207.640: [Full GC [PSYoungGen: 1762560K->89633K(2185856K)] [ParOldGen: 2971644K->2971645K(2971648K)] 4734204K->3061278K(5157504K) [PSPermGen: 309869K->309857K(310208K)] GC time would exceed GCTimeLimit of 70% , 8.9429330 secs] [Times: user=109.45 sys=0.30, real=8.94 secs]

The message itself seems to be mal-formed, perhaps there is a bug in JDK (using 1.6.0_21_x64). We run with -XX:GCTimeLimit=70 and -XX:GCHeapFreeLimit=40 options.

The attached zip file has the original log file with application timestamps prefix, so I ran with --preprocess, which didn't fix the above lines and so are reported as unrecognized. I then worked around by reformatting those lines to confirm to the regular Full GC lines (in Vim, run this substitution: :%s/(Full GC.))(] [Times:. real=)(.*) secs/\1], \300000 secs\2\3 secs/) .

The "GCTimeLimit" messages are a sure sign of bottlenecks (in fact, the JVM exited due to this in this case), so would not want to see these lines excluded.