命令仅返回当前服务器负载的值?

命令仅返回当前服务器负载的值?

我知道您可以使用“w”之类的命令获取过去 1、5 和 15 分钟的服务器负载。但是,我想通过 cron 作业自动检索其中一个值,以便我可以将其记录在数据库中并进行一些分析并观察趋势。所以...我需要一个命令,它只输出服务器负载,这样它就可以简单地作为数字处理以供我的脚本使用。有人能给我一个命令来解析“w”之类的命令的输出并只返回服务器负载值吗?我希望有能返回 5 分钟和 15 分钟平均值的变体。谢谢!

答案1

每一个,1,5和15分钟的平均负载:

cut -f1 -d' ' /proc/loadavg
cut -f2 -d' ' /proc/loadavg
cut -f3 -d' ' /proc/loadavg

答案2

像这样:

CpuLoadAverage=`uptime | awk 'BEGIN { FS=" |, " } { print $11 }'`
echo $CpuLoadAverage

5 分钟和 15 分钟时,只需将 11 美元替换为 12 美元或 13 美元即可。

答案3

尝试这个:

uptime | perl -e 'while (<>) { m/average:\s(\d.\d+),\s(\d.\d+),\s(\d.\d+)/; print $1; }'

表示 1 分钟平均值,或分别$1$2或替换$3表示 5 分钟或 15 分钟平均值。

相关内容