如何在 Solaris 下获取平均负载(且仅平均负载)?

如何在 Solaris 下获取平均负载(且仅平均负载)?

我正在寻找cat /proc/loadavgLinux 或sysctl -n vm.loadavgFreeBSD 下的 的等价物,但适用于 Solaris。Solaris 没有/proc/loadavgsysctl

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

显然人们已经写下了自己的平均负载

相关内容