top如何计算单核Linux系统上的CPU使用率?

Sup*_*tik 5 linux central-processing-unit

单核Linux系统上CPU使用率是如何计算的?

Cpu(s): 28.1%us,  6.5%sy,  0.0%ni, 43.0%id, 21.6%wa,  0.0%hi,  0.5%si,  0.2%st
Run Code Online (Sandbox Code Playgroud)

请解释一下ussyniidwahisist是如何获得的。

Hyp*_*ppy 2

CPU 使用率由内核计算和跟踪。其中涉及的确切方法和过程远远超出了本站点(ServerFault)的范围。

如果您想知道这些值代表什么,我从 IBM 网站上获取了这个不错的列表,不过完整的文章值得一读:

  • us - 在用户空间中花费的 CPU 时间的百分比。
  • sy - 在内核空间中花费的 CPU 时间的百分比。
  • ni - 低优先级进程花费的 CPU 时间百分比。
  • id - CPU 空闲时间的百分比。
  • wa - 等待(在磁盘上)所花费的 CPU 时间的百分比。
  • hi - 处理硬件中断所花费的 CPU 时间百分比。
  • si - 处理软件中断所花费的 CPU 时间百分比。

(来自IBM ...为什么它只嵌入在 Java SDK 指南中超出了我的范围)

top从 /proc 目录获取其信息,该目录是一个特殊目录,用于查询内核的进程统计信息等。man proc可以为您提供有关如何设置 /proc 的更多信息。