【发布时间】:2012-08-23 14:26:53
【问题描述】:
【问题讨论】:
【问题讨论】:
除了内核本身之外,除了读取/proc 之外,没有其他方法可以计算当前的 CPU 利用率。 ps、top 等所有常用工具也只是读取 /proc,/proc/stat 用于整体 CPU 使用率或/proc/<pid>/stat 用于每个进程 CPU用法。然而,由于/proc 是由内核直接提供的虚拟文件系统,因此读取其中文件的开销远小于普通文件。
如果您不想自己阅读/proc,请尝试使用只进行少量额外计算的工具,例如@deep 提到的ps。
【讨论】:
您是否尝试过使用 $top 命令?
事实上,这里有一个包括 $top 在内的方法列表,试试这些 :)
http://www.cyberciti.biz/tips/how-do-i-find-out-linux-cpu-utilization.html
【讨论】:
/proc 到底有什么干扰?这就是它的目的。
top,但它以低于原始top 的速率对/proc 进行采样。你当然会失去准确性,但你需要在某处画线
试试这个:
ps -eo pcpu,pid | less
这将显示 CPU 使用率以及 PIDs
【讨论】:
ps 接缝从 /proc 读取,因此从 proc 读取仍然比使用 ps 更有效,如下所示:linux.about.com/od/commands/l/blcmdl1_ps.htm
/proc 读取,因为/proc 是唯一的信息来源。所以没有比直接从/proc 读取更有效的工具了。但是从/proc 读取真的很便宜,因为不涉及真正的 IO。