我有一台运行在强大的服务器机器上的Java服务器(许多内核,64Gb RAM等),我在测试场景中提交了一些工作负载;我在每个测试中连续10次提交一个完全相同的工作负载。一个特定的工作量,我观察到在10次运行的中间,完成需要更长的时间(即运行1-2-10秒,3-12秒,4-25秒,5-10秒等)。在具有来自服务器的挂起时间的yourkit配置文件中,我看到在减速期间IO,GC,网络或几乎没有任何增加;没有特别的方法可以增加花费的时间比例 - 每种方法都比较慢,大致成比例。我所看到的是平均CPU使用率下降(可能是因为相同的工作分布在更长的时间内),但内核 CPU使用率增加 - 从更快的工作负载的0-2%增加到9-12%的慢一点。内核使用率从前一个工作负载的末尾开始慢慢爬升,稍微慢一点,保持高速,然后在慢速和下一个工作负载之间下降(暂停)。我无法将此内核CPU映射到来自yourkit的任何调用。 有谁知道这可能是什么?或者建议进一步调查可能显示核心时间到来的地方?