我知道你可以使用像“w”这样的命令在过去的1,5和15分钟内获得服务器负载。 不过,我想通过一个cron作业来自动检索这些值中的一个,这样我就可以在数据库中做一个logging,做一些分析并观察趋势。 所以…我需要一个命令,将输出只是服务器负载,所以它可以被简单地视为一个数字用于我的脚本。 任何人都可以给我一个命令,将parsing像“W”命令输出,并只返回服务器负载值? 我很想有可以返回5分钟和15分钟的变化。 谢谢!
他们每个人,1,5和15分钟的平均负载:
cut -f1 -d' ' /proc/loadavg cut -f2 -d' ' /proc/loadavg cut -f3 -d' ' /proc/loadavg
像这样的东西:
CpuLoadAverage=`uptime | awk 'BEGIN { FS=" |, " } { print $11 }'` echo $CpuLoadAverage
5分钟和15分钟,用$ 12或$ 13取代$ 11。
尝试这个:
uptime | perl -e 'while (<>) { m/average:\s(\d.\d+),\s(\d.\d+),\s(\d.\d+)/; print $1; }'
为1分钟的平均水平,或分别用5分钟或15分钟平均值$2 $3或$3 $2replace$1 $2 。