在我的 CentOS 服务器中,当我使用 sar 命令检查资源时,用户 CPU 使用率约为 %15,而在 top 命令中,唯一的“java”进程使用了大约 %99 的 CPU。有时甚至超过 %100!谁在撒谎?
答案1
都不是——他们只是给出了不同的 CPU 使用率概念。
Top 的 CPU 概念是“每个核心”——即“该程序使用了一个核心的 100%”。因此,多线程程序可能会使用“400% CPU”——这有时会让人眼花缭乱。
另一方面,sar
将其视为总 CPU 的百分比 - 因此在 4 核系统上,一个充分利用的 CPU 核心将显示为“25%CPU”,而使用 400% 的程序将显示为 100%。
还有瞬时平均值与长期平均值的问题,但我假设你已经考虑到了这一点。