Atop - это полноэкранный монитор производительности, который может сообщать об активности всех процессов, даже тех, которые были завершены. Atop также позволяет вести ежедневный журнал активности системы. Его можно использовать для различных целей, включая анализ, отладку, выявление причин перегрузки системы и другие.
Особенности Atop
- Проверка общего потребление ресурсов всеми процессами
- Проверка , сколько из доступных ресурсов было использовано
- Ведение журнала использования ресурсов
- Проверка потребления ресурсов отдельными потоками
- Мониторинг активности процессов для каждого пользователя или программы
- Мониторинг сетевой активности по каждому процессу
Последняя версия Atop 2.1 включает следующие возможности
- Новый механизм протоколирования
- Новые ключевые флаги
- Новые поля (счетчики)
- Исправления ошибок
- Настраиваемые цвета
Установка инструмента мониторинга Atop в Linux
В RHEL/CentOS/Fedora
Сначала вам необходимо включить репозиторий epel в системах RHEL/CentOS, чтобы установить инструмент мониторинга atop.
После включения репозитория epel вы можете просто использовать менеджер пакетов yum для установки пакета atop, как показано ниже.
1 | yum install atop |
В качестве альтернативы вы можете загрузить прямые rpm-пакеты atop с помощью команды wget и продолжить установку atop с помощью следующей команды.
Для x86-систем
1 2 | wget http://www.atoptool.nl/download/atop-2.1-1.i586.rpm rpm -ivh atop-2.1-1.i586.rpm |
для x64-систем
1 2 | wget http://www.atoptool.nl/download/atop-2.1-1.x86_64.rpm rpm -ivh atop-2.1-1.x86_64.rpm |
После установки atop убедитесь, что atop будет запускаться при старте системы, выполните следующие команды:
1 2 | chkconfig --add atop chkconfig atop on --level 235 |
В Debian/Ubuntu
В системах на базе Debian atop можно установить из репозиториев по умолчанию с помощью команды apt-get.
1 | sudo apt-get install atop |
Убедитесь, что atop будет запускаться при старте системы
1 | sudo update-rc.d atop defaults |
Настройка atop
По умолчанию atop будет регистрировать все действия каждые 600 секунд. Поскольку это может быть не очень полезно, я изменю конфигурацию atop, чтобы все действия регистрировались с интервалом в 60 секунд. Для этого выполните следующую команду:
Системы на на базе RedHat
1 | sed 's/600/60/' /etc/atop/atop.daily -i |
Системы на на базе Debian
1 | sudo sed 's/600/60/' /etc/default/atop -i |
Установка модуля ядра netatop
Для установки и работы модуля ядра netatop необходимо, чтобы в вашей системе были установлены следующие пакеты зависимостей из репозитория дистрибьютора.
Для систем на базе RedHat
1 | yum install kernel-devel zlib-devel |
Для систем на базе Debian
1 | sudo apt-get install zlib1g-dev |
Затем скачайте тарбол netatop и соберите модуль и демон.
1 2 3 | wget http://www.atoptool.nl/download/netatop-0.3.tar.gz tar -xvf netatop-0.3.tar.gz cd netatop-0.3 |
Перейдите в каталог 'netatop-0.3' и выполните следующие команды для установки и сборки модуля.
1 2 | make make install |
После успешной установки модуля netatop, загрузите модуль и запустите демон.
1 | service netatop start |
или
1 | sudo service netatop start |
Если вы хотите, чтобы модуль загружался автоматически после загрузки, выполните одну из следующих команд в зависимости от дистрибутива.
Для систем на базе RedHat
1 | chkconfig --add netatop |
Для систем на базе Debian
1 | sudo update-rc.d netatop defaults |
Запуск atop
После установки, atop запускается командой
1 | atop |
Использование atop
Информация о планировании - клавиша "s" - показывает информацию о планировании для главного потока каждого процесса. Также показывает, сколько процессов находится в состоянии "запущено":
1 | atop -s |
Потребление памяти - клавиша "m" - показывает информацию о памяти для всех запущенных процессов Колонка VSIZE показывает общий объем виртуальной памяти, а RSIZE - размер резидентной памяти, используемой каждым процессом.
VGROW и RGROW показывают прирост за последний интервал. Столбец MEM указывает на использование резидентной памяти процессом.
1 | atop -m |
Показать использование диска - клавиша "d" - показывает активность дисков на системном уровне (столбцы LVM и DSK). Активность диска отображается как количество данных, передаваемых при чтении/записи (столбцы RDDSK/WRDSK).
1 | atop -d |
Показать информацию о переменных - ключ "v" - эта опция отображает более конкретные данные о запущенных процессах, такие как uid, pid, gid, использование cpu и т.д:
1 | atop -v |
Показать команды процесса - клавиша "c":
1 | atop -c |
Кумулятивный на программу - клавиша "p" - информация, отображаемая в этом окне, накапливается на программу. Самая правая колонка показывает, какие программы активны (во время интервалов), а самая левая колонка показывает, сколько процессов они породили.
1 | atop -p |
Кумулятивный на пользователя - клавиша "u" - этот экран показывает, какие пользователи были/являются активными в течение последнего интервала и показывает, сколько процессов запускает/ран каждый пользователь.
1 | atop -u |
Использование сети - ключ "n" (требуется модуль ядра netatop) показывает сетевую активность по процессам.
Теперь проверьте использование сети с помощью клавиши "n".
1 | atop -n |
Каталог, в котором atop хранит свои файлы истории.
/var/log/atop/atop_YYYYMMDD
Где YYYY - год, MM - месяц и DD текущий день месяца. Например:
Все файлы, создаваемые atop, являются двоичными. Они не являются логами или текстовыми файлами, и только atop может их читать. Однако обратите внимание, что Logrotate может читать и ротировать эти файлы.
Допустим, вы хотите посмотреть сегодняшние журналы, начиная с 05:05 по серверному времени. Просто выполните следующую команду.
1 | atop -r -b 05:05 -l 1 |