我想知道Linux上单个进程的CPU和内存使用情况——我知道PID。希望我每秒钟都能得到它,并使用'watch'命令将其写入CSV。我可以使用什么命令从Linux命令行中获得这些信息?
当前回答
ps aux|awk '{print $2,$3,$4}'|grep PID
其中第一列是PID,第二列是CPU使用率,第三列是内存使用率。
其他回答
您可以通过使用的进程名获取结果
ps -C chrome -o %cpu,%mem,cmd
-C选项允许你在不知道pid的情况下使用进程名。
对于那些纠结了一段时间,想知道为什么选定的答案不管用的人:
ps -p <pid> -o %cpu,%mem
%cpu和%mem之间没有空格。
要获得应用程序的内存使用情况(而不是它使用的共享库),需要使用Linux smaps接口。这个答案很好地解释了这一点。
根据@Neon的回答,我的观点是:
pidstat -h -r -u -v -p $(ps aux | grep <process name> | awk '{print $2}' | tr '\n' ',')
ps -p <pid> -o %cpu,%mem,cmd
(您可以省略“cmd”,但这可能有助于调试)。
注意,这给出了进程在运行期间的平均CPU使用率。
推荐文章
- 如何首次配置postgresql ?
- 检索Linux上单个进程的CPU使用情况和内存使用情况?
- 如何从远程SSH会话发送数据到本地剪贴板
- 我如何得到bash完成工作与别名?
- SSH端口转发~/。ssh /配置文件?
- 通过使用shell脚本替换文件名中的特定模式来重命名多个文件
- 在Linux中安装Java SDK后,我可以在哪里找到它?
- 如何将多个文件的内容追加到一个文件
- linux cat命令可以用来写入文本文件吗?
- 如何杀死僵尸进程
- 如何进入每个目录并执行命令?
- 如何通过脚本创建crontab
- 我可以在/etc/hosts中映射主机名*和端口*吗?
- Tar归档,从文件列表中获取输入
- 寻找不属于特定用户的文件