2

Я ищу эквивалент 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?

3 ответа3

4

Вы можете использовать awk для возврата только 3 последних поля из uptime:

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'
1

Не совсем тот же формат, но, возможно, пригодный для использования в зависимости от того, что вы хотите с ним сделать:

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, вы получите более знакомый результат.

0

Видимо люди написали свой собственный loadavg

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .