我正在尝试编写一个脚本来监视某个进程的 %cpu %mem、cpu 时间等(越多越好)。类似于 Windows 上的性能监视器(perfmon)。
我知道已经有一些工具为此完成了,但我必须使用基本功能和内置功能来完成它,因为它必须在 linux 和 (solaris*/aix/hpux) 上工作。
最好有类似于 perfmon.exe 的输出,这样我就可以更新输出日志,比如说每 5 秒跟踪的进程,格式为:
date %mem %cpu cputime private_bytes(?) virtual_bytes(?)
我不知道是从顶部提取数据(实际上在所有将要使用的操作系统上都不相同)还是尝试从“ps”查询中提取数据。
我尝试通过一些 for 循环来做到这一点,例如:
for $count; do
sleep $delay
date >>output.txt
ps -A -o pid,%cpu,%mem,time -o comm= | grep -v grep | grep $process >> output.txt
done
我会很感激任何提示。
BR