Recent investigation in long Remark pauses showed that a considerable part of the "Class Unloading" part is not logged, leading to logs like this:
Class unloading part breakdown:
[1384,331s][gc,phases ] GC(72) ClassLoaderData 53,370ms <--- clean CLDs/identify dead CLDs
[1384,331s][gc,phases ] GC(72) Trigger cleanups 0,006ms
[1384,557s][gc,phases ] GC(72) Complete Cleaning 225,582ms <--- clean code cache/identify dead nmethods
[1391,343s][gc,phases ] GC(72) Class Unloading 7065,470ms
I.e. out of the 7000ms of Class Unloading, only 270ms are actually accounted for in the logs.
Improve upon that.
Class unloading part breakdown:
[1384,331s][gc,phases ] GC(72) ClassLoaderData 53,370ms <--- clean CLDs/identify dead CLDs
[1384,331s][gc,phases ] GC(72) Trigger cleanups 0,006ms
[1384,557s][gc,phases ] GC(72) Complete Cleaning 225,582ms <--- clean code cache/identify dead nmethods
[1391,343s][gc,phases ] GC(72) Class Unloading 7065,470ms
I.e. out of the 7000ms of Class Unloading, only 270ms are actually accounted for in the logs.
Improve upon that.
- duplicates
-
JDK-8317809 Insertion of free code blobs into code cache can be very slow during class unloading
- Resolved