Один вкладыш для отображения использования ЦП, ОЗУ и жесткого диска

Я видел несколько сообщений, которые хотели бы сказать об использовании, однако ответы ВСЕГДА относятся к установке какого-либо стороннего инструмента.

Я не хочу ничего устанавливать.

Какие-то лайнеры? Следующее было бы хорошим выходом:

CPU 11% RAM 20% HDD 85%
9
задан 2 August 2017 в 05:58

6 ответов

Вы можете использовать это

echo "CPU `LC_ALL=C top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}'`% RAM `free -m | awk '/Mem:/ { printf("%3.1f%%", $3/$2*100) }'` HDD `df -h / | awk '/\// {print $(NF-1)}'`"

Выход:

CPU 7.4% RAM 33.9% HDD 94%
19
ответ дан 22 May 2018 в 19:56
  • 1
    часть HD собирается сосать, если у вас много разделов. – coteyr 1 August 2017 в 23:50
  • 2
    df -h / часть командной строки показывает статистику раздела /. Вы можете повторить команду df -h и подставить / с точкой монтирования, которую вы должны контролировать. – MKay 2 August 2017 в 09:56
  • 3
    Не работает для меня. CPU всегда 91%, я понятия не имею, откуда это получается. // И RAM включает в себя буферы и кеш, которые выглядят так, будто они исчерпаны. Я использую 97,8% оперативной памяти, но все равно 67,5% бесплатно. – Oskar Skog 2 August 2017 в 12:31
  • 4
    @OskarSkog Ваш top в порядке. Использование ЦП не может быть измерено в текущий момент времени, оно должно быть измерено в течение короткого промежутка времени. Когда top запускает первую итерацию, она показывает среднее значение с момента последней перезагрузки. Начиная со второй итерации, он показывает фактическое текущее использование с предыдущей итерации. И если у вас проблемы с локализацией, вы можете поставить LC_ALL=C перед командой, чтобы использовать стандартную английскую локализацию (числовые форматы и т. Д., А не язык). – Byte Commander 2 August 2017 в 13:59
  • 5
    @MKay: Вы можете заменить top -bn1 | grep "Cpu(s)" на top -bn2 | grep "Cpu(s)" | tail -n1. Первый будет отображать долгосрочное среднее значение, как указано в Byte Commander. – Oskar Skog 2 August 2017 в 14:31

Вы можете использовать это

echo "CPU `LC_ALL=C top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}'`% RAM `free -m | awk '/Mem:/ { printf("%3.1f%%", $3/$2*100) }'` HDD `df -h / | awk '/\// {print $(NF-1)}'`"

Выход:

CPU 7.4% RAM 33.9% HDD 94%
19
ответ дан 18 July 2018 в 09:15

Вы можете использовать это

echo "CPU `LC_ALL=C top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}'`% RAM `free -m | awk '/Mem:/ { printf("%3.1f%%", $3/$2*100) }'` HDD `df -h / | awk '/\// {print $(NF-1)}'`"

Выход:

CPU 7.4% RAM 33.9% HDD 94%
19
ответ дан 24 July 2018 в 19:17

Для использования ЦП (среднее значение (user+system)/(user+system+idle) раз за 0,1 секунды):

(grep 'cpu ' /proc/stat;sleep 0.1;grep 'cpu ' /proc/stat)|awk -v RS="" '{print "CPU "($13-$2+$15-$4)*100/($13-$2+$15-$4+$16-$5)"%"}'

Для использования ОЗУ ((total-available)/total):

awk '/MemTotal/{t=$2}/MemAvailable/{a=$2}END{print 100-100*a/t"%"}' /proc/meminfo

Для использования жесткого диска (только громкость, установленная как /):

df | awk '/ \/$/{print "HDD "$5}'
5
ответ дан 22 May 2018 в 19:56
  • 1
    Интересно, что доступно меньше памяти, чем `free -m | head -n3 | tail -n1 'сообщает как свободную память. – Oskar Skog 2 August 2017 в 12:39
  • 2
    @OskarSkog Можете ли вы поделиться своим выходом с этой командой? Для меня он просто печатает строку Swap total / used / free, что здесь не актуально. Возможно, вы имели в виду что-то еще, или ваша команда free по-прежнему использует старый формат вывода с отдельной строкой / + буферов / кешей ... – Byte Commander 2 August 2017 в 13:55
  • 3
    Мой бесплатный использует старый формат: oskog97.com/sshin/free-output.png Что изменилось? – Oskar Skog 2 August 2017 в 14:26
  • 4
    @OskarSkog "- / + buffers / cache" строка удалена, и теперь имеется дополнительный столбец «доступный». в "Mem" вместо этого. Из man free: « Оценка того, сколько памяти доступно для запуска новых приложений без обмена. В отличие от данных, предоставленных кешем или свободными полями, в этом поле учитывается кеш страниц, а также то, что не все исправляемые плит памяти будут исправлены из-за использования элементов MemAvailable в / proc / meminfo, доступных на ядрах 3.14, эмулированных на ядрах 2.6.27+, в противном случае то же самое, что и свободный) " – Byte Commander 2 August 2017 в 14:31

Для использования ЦП (среднее значение (user+system)/(user+system+idle) раз за 0,1 секунды):

(grep 'cpu ' /proc/stat;sleep 0.1;grep 'cpu ' /proc/stat)|awk -v RS="" '{print "CPU "($13-$2+$15-$4)*100/($13-$2+$15-$4+$16-$5)"%"}'

Для использования ОЗУ ((total-available)/total):

awk '/MemTotal/{t=$2}/MemAvailable/{a=$2}END{print 100-100*a/t"%"}' /proc/meminfo

Для использования жесткого диска (только громкость, установленная как /):

df | awk '/ \/$/{print "HDD "$5}'
5
ответ дан 18 July 2018 в 09:15

Для использования ЦП (среднее значение (user+system)/(user+system+idle) раз за 0,1 секунды):

(grep 'cpu ' /proc/stat;sleep 0.1;grep 'cpu ' /proc/stat)|awk -v RS="" '{print "CPU "($13-$2+$15-$4)*100/($13-$2+$15-$4+$16-$5)"%"}'

Для использования ОЗУ ((total-available)/total):

awk '/MemTotal/{t=$2}/MemAvailable/{a=$2}END{print 100-100*a/t"%"}' /proc/meminfo

Для использования жесткого диска (только громкость, установленная как /):

df | awk '/ \/$/{print "HDD "$5}'
5
ответ дан 24 July 2018 в 19:17
  • 1
    Интересно, что доступно меньше памяти, чем `free -m | head -n3 | tail -n1 'сообщает как свободную память. – Oskar Skog 2 August 2017 в 12:39
  • 2
    @OskarSkog Можете ли вы поделиться своим выходом с этой командой? Для меня он просто печатает строку Swap total / used / free, что здесь не актуально. Возможно, вы имели в виду что-то еще, или ваша команда free по-прежнему использует старый формат вывода с отдельной строкой / + буферов / кешей ... – Byte Commander 2 August 2017 в 13:55
  • 3
    Мой бесплатный использует старый формат: oskog97.com/sshin/free-output.png Что изменилось? – Oskar Skog 2 August 2017 в 14:26
  • 4
    @OskarSkog "- / + buffers / cache" строка удалена, и теперь имеется дополнительный столбец «доступный». в "Mem" вместо этого. Из man free: « Оценка того, сколько памяти доступно для запуска новых приложений без обмена. В отличие от данных, предоставленных кешем или свободными полями, в этом поле учитывается кеш страниц, а также то, что не все исправляемые плит памяти будут исправлены из-за использования элементов MemAvailable в / proc / meminfo, доступных на ядрах 3.14, эмулированных на ядрах 2.6.27+, в противном случае то же самое, что и свободный) " – Byte Commander 2 August 2017 в 14:31

Другие вопросы по тегам:

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