atop — продвинутый интерактивный полноэкранный монитор производительности, расширенный аналог top. Позволяет контролировать загрузку ЦПУ, ОЗУ, HDD, сети и многое другое. На мой взгляд, является самым удобным инструментом для мониторинга состояния системы, поскольку собирает всю необходимую информацию вместе. Важной особенностью является возможность сохранения данных в файл собственного двоичного формата, что мы и будем использовать для решения этой задачи.
Я не буду останавливаться на возможностях atop в рамках этой статьи.
После инсталляции atop складывает свою статистику в файлы (по дням) в папку /var/log/atop/
.
С помощью опции -r <путь_к_файлу>
указывается какой именно дамп будет считан.
Для ещё более точного определения диапазона за этот день можно использовать опции -b
время старта (в формате hh:mm) и -e
время окончания (в формате hh:mm)
Если нас интересует статистика только по некоторым параметрам, мы можем указывать это с помощью опции -P
. Значения могут быть следующие:
- PRC — Process level totals
- CPU — CPU utilization
- CPL — CPU load information
- MEM — Memory occupation
- SWP — Swap occupation and overcommit info
- PAG — Paging frequency
- LVM/MDD/DSK — Logical volume/multiple device/disk utilization
- NET — Network utilization (TCP/IP)
Тогда средний LA (Load Average, параметр CPL
) за сутки (в примере это 20170302
) можно вывести используя следующее:
atop -PCPL -r /var/log/atop/atop_20170302 | grep 'CPL' | awk -F ' ' '{print $8}' | awk '{ total += $1 } END { print "LA AVG: " total/NR }'
Что выведет:
LA AVG: 2.155
Подобным образом можем посчитать максимальное значение:
atop -PCPL -r /var/log/atop/atop_20170302 | grep 'CPL' | awk -F ' ' '{print $8}' | awk '{ if(max<$1) { max=$1 } } END { print "LA MAX: " max }'
Что выведет:
LA MAX: 3.46
Точно так же вы можете отобразить и другие параметры.