我正在寻找cat /proc/loadavg
Linux 或sysctl -n vm.loadavg
FreeBSD 下的 的等价物,但适用于 Solaris。Solaris 没有/proc/loadavg
或sysctl
。
w
我不想要或的输出uptime
,我想要只是平均负载。例如,我想要:
0.53 0.39 0.80
不是:
13:30:44 up 51 days, 8:43, 2 users, load average: 0.46, 0.39, 0.79
哪个终端命令可以为我提供 1、5 和 10 分钟的平均负载,以及仅有的Solaris 下的平均负载?
答案1
您可以使用 awk 仅返回正常运行时间的最后 3 个字段:
uptime | awk '{print $(NF-2)" "$(NF-1)" "$(NF-0)}'
编辑:
如果您不想要逗号,您可以使用 sed 或 tr 来删除它们:
uptime | awk '{print $(NF-2)" "$(NF-1)" "$(NF-0)}' | tr "," " "
uptime | awk '{print $(NF-2)" "$(NF-1)" "$(NF-0)}' | sed 's/,/ /g'
答案2
格式不完全相同,但也许可用,具体取决于您想用它做什么:
kstat -p 'unix:0:system_misc:avenrun*' | \
awk '{printf "%s %.2f\n", $1, $2 / 256.0}'
kstat 命令的原始输出(在kstat(1m) 手册页) 是:
% kstat -p 'unix:0:system_misc:avenrun*'
unix:0:system_misc:avenrun_15min 42
unix:0:system_misc:avenrun_1min 17
unix:0:system_misc:avenrun_5min 25
将 kstats 除以 256 可得到更熟悉的输出。
答案3
显然人们已经写下了自己的平均负载