Команда для отображения использования памяти, использования диска и загрузки процессора

Я хочу отобразить использование памяти, использование диска и загрузку процессора в следующем формате:

Memory Usage: 33/512MB (6%)    
Disk usage: 4.2/20GB (23%) 
CPU Load: 0.01

Как это сделать?

13 голосов | спросил Prem 11 MarpmTue, 11 Mar 2014 17:03:27 +04002014-03-11T17:03:27+04:0005 2014, 17:03:27

7 ответов


29

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

#!/bin/sh
free -m | awk 'NR==2{printf "Memory Usage: %s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2 }'
df -h | awk '$NF=="/"{printf "Disk Usage: %d/%dGB (%s)\n", $3,$2,$5}'
top -bn1 | grep load | awk '{printf "CPU Load: %.2f\n", $(NF-2)}' 

Если вы сохраните вышеуказанный скрипт и запустите его, вы получите (пример из моей системы):

$ ./foo.sh 
Memory Usage: 4986/7994MB (62.37%)
Disk Usage: 23/68GB (35%)
CPU Load: 0.78

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

ответил terdon 11 MarpmTue, 11 Mar 2014 20:54:48 +04002014-03-11T20:54:48+04:0008 2014, 20:54:48
5

Проверьте на вершине .

Прочитайте это, https://lwn.net/Articles/387202/

См, введите описание изображения здесь>> </p>

<p> Вы можете увидеть загрузку диска /памяти /процессора приложениями: </p>

<p> <img src =

ответил user2496 13 MaramThu, 13 Mar 2014 00:37:37 +04002014-03-13T00:37:37+04:0012 2014, 00:37:37
1

Нет ничего, что можно было бы точно показать в вашем конкретном формате, но они предоставляют некоторую информацию, а в качестве альтернативы можно читать valuse из /proc и /sys.

free - быстрый обзор

vmstat 1 показывает статистику производительности системы /

top динамический

htop похож на верхний

ответил X Tian 11 MarpmTue, 11 Mar 2014 17:12:45 +04002014-03-11T17:12:45+04:0005 2014, 17:12:45
0

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

ответил klerk 11 MarpmTue, 11 Mar 2014 19:27:58 +04002014-03-11T19:27:58+04:0007 2014, 19:27:58
0

Если вы используете Solaris, проверьте это: showcpucount

Это даст вам представление о том, как писать код.

ответил vikkp 11 MarpmTue, 11 Mar 2014 18:59:56 +04002014-03-11T18:59:56+04:0006 2014, 18:59:56
0

Вот мой код для получения использования ЦП и ОЗУ:

### 1. get total average CPU usage for the past minute
avg_cpu_use=$(uptime)
# a. split response
IFS=',' read -ra avg_cpu_use_arr <<< "$avg_cpu_use"
# b. find cpu usage
avg_cpu_use=""
for i in "${avg_cpu_use_arr[@]}"; do :
    if [[ $i == *"load average"* ]]; then
        avg_cpu_use=$i
        break       
    fi
done
# c. create response
avg_cpu_use=$(echo ${avg_cpu_use:16})   # Remove "  load average: "
if [[ -z "${avg_cpu_use// }" ]]; then
    avg_cpu_use="CPU: N/A%%"
    exit -1
else
    avg_cpu_use="CPU: ${avg_cpu_use}%%"
fi

### 2. get RAM usage
ram_use=$(free -m)
# a. split response by new lines
IFS=$'\n' read -rd '' -a ram_use_arr <<< "$ram_use"
# b. remove extra spaces
ram_use="${ram_use_arr[1]}"
ram_use=$(echo "$ram_use" | tr -s " ")
# c. split response by spaces
IFS=' ' read -ra ram_use_arr <<< "$ram_use"
# d. get variables
total_ram="${ram_use_arr[1]}"
ram_use="${ram_use_arr[2]}"
# e. create response
ram_use="RAM: ${ram_use}/${total_ram} MB"

echo $avg_cpu_use
echo $ram_use
ответил xinthose 11 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 11 Sep 2017 06:48:52 +0300 2017, 06:48:52
-2

Вы должны иметь возможность отображать использование памяти, использование диска и загрузку процессора, используя:

(ps hax -o rss,user | awk '{a[$2]+=$1;}END{for(i in a)print i" "int(a[i]/1024+0.5);}' | sort -rnk2)
ответил Abhijeet Petkar 26 PM00000020000005831 2017, 14:42:58

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132