我想知道Linux上单个进程的CPU和内存使用情况——我知道PID。希望我每秒钟都能得到它,并使用'watch'命令将其写入CSV。我可以使用什么命令从Linux命令行中获得这些信息?
当前回答
根据@Neon的回答,我的观点是:
pidstat -h -r -u -v -p $(ps aux | grep <process name> | awk '{print $2}' | tr '\n' ',')
其他回答
caf的答案是: Top -p <pid>
这将自动刷新CPU使用情况,因此非常适合监控。
对于那些纠结了一段时间,想知道为什么选定的答案不管用的人:
ps -p <pid> -o %cpu,%mem
%cpu和%mem之间没有空格。
我用htop
sudo apt install htop
htop
按F3查找感兴趣的进程,记住PID。用q退出并再次启动htop,只显示您想要的进程
htop -p $PID
ps aux | awk '{print $4"\t"$11}' | sort | uniq -c | awk '{print $2" "$1" "$3}' | sort -nr
或者每个进程
ps aux | awk '{print $4"\t"$11}' | sort | uniq -c | awk '{print $2" "$1" "$3}' | sort -nr |grep mysql
您可以通过使用的进程名获取结果
ps -C chrome -o %cpu,%mem,cmd
-C选项允许你在不知道pid的情况下使用进程名。
推荐文章
- 在Bash中检查变量是否存在于列表中
- 查看PS命令的全部输出
- 确保一次只运行一个shell脚本实例的快速方法
- 为什么ARC仍然需要@autoreleasepool ?
- Linux命令将域名转换为IP
- 如何从命令行在windows中找到mysql数据目录
- 如何在Makefile中设置子进程的环境变量
- 如何让“wc -l”打印没有文件名的行数?
- 有效地测试Linux上的端口是否打开?
- 如何从另一个文件A中删除文件B中出现的行?
- 对以制表符分隔的文件进行排序
- 在内存的哪里我的变量存储在C?
- Shell脚本删除超过n天的目录
- 使用sudo时未找到命令
- 当有命令行参数时,如何使用GDB分析程序的核心转储文件?