我正在尝试设置小型内部 cpu 监控 bash 脚本,当 cpu 使用率达到 90% 时,该脚本会向具有前 5 个 cpu 消耗最多的进程的用户发送电子邮件。如果有多个 CPU,它应该能够取所有 CPU 的平均值。
问问题
1123 次
1 回答
1
查看该命令的手册页ps
。选项之一是-o
选项。这允许您以ps
各种方式格式化命令的输出。
例如,要ps
仅打印这些字段:
ps -oni -orss -o%cpu -osize --no-header
您可以通过循环读取它并进入read
语句:
ps -oni -orss -o%cpu -osize --no-header | while read nice mem cpu disk
do
echo nice = $nice, memory = $mem, cpu = $cpu, disk = $disk
done
以您想要的方式获取 JSON 格式取决于您。我也不是 100% 确定您正在寻找什么价值。是什么Cpu-Nice
?是nice的值还是cpu使用量?“磁盘使用情况”是什么意思?
查看ps
联机帮助页,找到所需的列,然后显示它们。也可以使用您的无标题选项,或者简单地执行以下操作:
ps -oni= -orss= -ocpu%= -osize=
这也将不显示任何标题。
于 2013-03-25T14:19:49.393 回答