What could be causing the high CPU core time in Java?

I have a Java server running on a hard server machine (many cores, 64GB RAM, etc.) and I am presenting some workloads for it in a test script; I am submitting one workload, exactly the same, 10 times in a row in each test. One particular workload, I notice that in the middle of 10 runs it takes a lot longer (i.e. 1-2-10 sec, 3-12 sec, 4-25 sec, 5-10 sec, etc) .). In yourkit profile with wall clock from server, I see no increase in IO, GC, network or almost nothing during slowdown; no specific methods increase in proportion to the time spent - each method is only slower, roughly proportional. I can see that the average CPU usage is decreasing (presumably because the same job is spread over more time),but the CPU usage of the core increases - from 0 to 2% for higher workloads, up to 9-12% on slower workloads. Kernel usage scans slowly from the end of the previous workload, which is slightly slower, stays high, and then drops between the slow and the next workload (there's a pause). I cannot match this kernel processor with any calls from your whale. Does anyone have an idea what this might be? Or suggest further research that might show where kernel time is going?I cannot match this kernel processor with any calls from your whale. Does anyone have an idea what this might be? Or suggest further research that might show where kernel time is going?I cannot match this kernel processor with any calls from your whale. Does anyone have an idea what this might be? Or suggest further research that might show where kernel time is going?

+3


source to share





All Articles