我想知道Linux上单个进程的CPU和内存使用情况——我知道PID。希望我每秒钟都能得到它,并使用'watch'命令将其写入CSV。我可以使用什么命令从Linux命令行中获得这些信息?


当前回答

我用htop

sudo apt install htop
htop

按F3查找感兴趣的进程,记住PID。用q退出并再次启动htop,只显示您想要的进程

htop -p $PID

其他回答

ps aux|awk  '{print $2,$3,$4}'|grep PID

其中第一列是PID,第二列是CPU使用率,第三列是内存使用率。

上面列出了消耗cpu和内存最多的进程

        ps axo %cpu,%mem,command | sort -nr | head

我用htop

sudo apt install htop
htop

按F3查找感兴趣的进程,记住PID。用q退出并再次启动htop,只显示您想要的进程

htop -p $PID

使用pidstat(来自sysstat -参考链接)。

例如,每5秒监控这两个进程id(12345和11223)的使用情况

$ pidstat -h -r -u -v -p 12345,11223 5

根据@Neon的回答,我的观点是:

pidstat -h -r -u -v -p $(ps aux | grep <process name> | awk '{print $2}' | tr '\n' ',')