为什么jProfiler将Unsafe.park/unpark显示为使用CPU周期?

R4z*_*rax 5 java multithreading sun jprofiler

我们使用相当多的ExecutorServices运行服务.

在使用jProfiler 7.1(sampling,Runnable)分析服务时,我们可以看到sun.misc.Unsafe.park + unpark当前是使用热点中大部分CPU时间的调用.

http://i.stack.imgur.com/wT2Cj.jpg

这令人费解.

Park和unpark应该是阻塞的,因此不使用任何CPU周期(或至少少量).这是来自jprofiler的某种错误(即没有检测到它,因为它在sun.misc包中吗?)或者我们使用ExecutorService框架实际上有什么问题吗?

Ing*_*gel 0

此问题已在 JProfiler 7.1.1 中修复。当您断开并重新连接到已分析的 JVM 时,可能会发生这种情况。