Однострочная эффективная команда Gnu/Linux для проверки процента использования ЦП, ОЗУ и жесткого диска?

atqперечисляет задания по перечислению каталога, содержащего их , без сортировки; поэтому задания в конечном итоге перечислены в порядке каталога.

Вы увидите тот же порядок с

sudo ls -lU /var/spool/at

(или /var/spool/cron/atjobsдля других читателей в системах на основе Debian -).

-1
11.10.2019, 09:54
1 ответ

Если вы собираетесь запускать это на регулярной основе, я бы посоветовал вам создать небольшой скрипт для управления генерацией данных. Он гораздо более удобочитаем -и, следовательно, удобен в сопровождении.

#!/bin/bash
#
cpu=$(LC_ALL=C top -bn1 -p0 | awk '/^%Cpu/{print 100-$8}')
mem=$(free -m | awk '/^Mem:/{printf("%3.1f\n", $3/$2 *100)}')
dsk=$(df -h / | awk '$NF=="/"{print $(NF-1)+0}')

printf '{"CPU": "%3.1f", "RAM": "%3.1f", "HDD": "%3.1f"}\n' $cpu $mem $dsk
exit 0

Пример

./546179.sh
{"CPU": "53.7", "RAM": "49.3", "HDD": "46.0"}

Если вы действительно хотите разбить все это в одну строку, это достаточно просто сделать, но полученный код практически нечитаем

Пример

printf '{"CPU": "%3.1f", "RAM": "%3.1f", "HDD": "%3.1f"}\n' $(LC_ALL=C top -bn1 -p0|awk '/^%Cpu/{print 100-$8}') $(free -m|awk '/^Mem:/{printf("%3.1f\n",$3/$2*100)}') $(df -h /|awk '$NF=="/"{print $(NF-1)+0}')
{"CPU": "53.7", "RAM": "49.3", "HDD": "46.0"}
2
28.01.2020, 05:09

Теги

Похожие вопросы