免费登录并置顶

免费登录并置顶

我想在我的服务器上创建一个 bash,每 60 秒记录一次“free”和“top”输出的一部分。我知道如何设置 cron 作业,但不知道如何获取“free”和“top”的输出并解析它们并保存在文件中(附加它)。

例如,当我运行“top”时,我只想保存如下部分:

%CPU(s):18.2 us,

当我运行“免费”时,我只想保存第一行的“可用”列(内存:)。

那么我该如何在 centos 7 中执行 bash 呢?

答案1

如果您想每 1 分钟监控一次,我建议使用 CPU 的平均负载而不是当前使用情况。

cat /proc/loadavg | awk '{print "Load last minute:", $1}'

该行将为您提供最后一分钟的平均 CPU 使用率,这比使用的 CPU 百分比更准确,因为您可能有 100% 的峰值,即使您的平均利用率要低得多,也可以保存它。

答案2

使用awk

top -n 1 | awk '/^%Cpu\(s\)/ {print "%Cpu(s)", $2, "us"}'
free | awk '/^Mem:/ {print $7}'

相关内容