在 Linux 中监控单个应用程序的 CPU、磁盘和内存使用情况的最佳方法是什么?

在 Linux 中监控单个应用程序的 CPU、磁盘和内存使用情况的最佳方法是什么?

我不想使用 vmstat 之类的工具来监控系统性能,因为它会提供比我想要的更多的一般信息。我知道 time 提供了执行进程的 CPU 使用率数据,但我还想要特定于进程的内存使用率。

答案1

其他 StackExchange 网站上已经有很好的答案,例如,以防万一每个网站都喜欢自己对答案的看法:

top -p <pid>
htop -p <pid>

这些运行 top / htop 仅监控提供的 pid(或具有多个-p <pid>条目的多个 pid)。

或者使用ps(可选)--noheader跳过第一个“图例”行:

ps -p <pid> -o %cpu,%mem,cmd

但请注意评论: %cpu “是 CPU 使用的时间和进程运行时间的比值(cputime/realtime 比率),以百分比表示”(参见 ps 的手册页)。这是不是实际的实时 CPU 使用率。例如,它也可能与 top 显示的内容有很大不同。

相关内容