vmstat 1
以上将打印每秒的虚拟内存统计信息。它还将显示最后一秒的 CPU 利用率。
我手头有一个运行 httpd 和 MySQL 的 Web 服务器。我需要找出 httpd 在最后一秒消耗了多少 CPU。比如 vmstat,特别是对于 httpd。
我试过这个:
ps -e -o %mem,%cpu,cmd | grep mysql | awk '{memory+=$1;cpu+=$2} END {print memory,cpu}'
但它会显示自进程启动以来 CPU 使用率。
因此,如上所述,如果我的进程导致峰值,然后长时间休眠,我不会知道。它就像 Windows 进程管理器,显示哪个进程正在使用多少 CPU。我希望我的问题能够被理解。如果有什么遗漏我会澄清。
答案1
您可以使用top -b -d 1
它来实现 CPU 使用率。 top
显示相对于上次输出的进程 CPU 使用情况。
答案2
cgroups 有一个完整的会计套件可供使用,并且是轻量级的。
https://www.kernel.org/doc/Documentation/cgroups/ https://www.kernel.org/doc/Documentation/cgroups/cpuacct.txt