Oracle mechanics

05.08.2010

Linux утилиты dstat и atop

Filed under: Диагностика системы (instance),Linux — Игорь Усольцев @ 21:56
Tags: ,

При решении очередной проблемы нахождения «узких мест» приложений на платформе Linux и для выявления ресурсоёмких приложений «открыл» для себя давно разработанные отличные утилиты: dstat и atop

Искусственный пример: медленно работает LAMP-сервер, старый добрый top ничего путного не показывает только аномальную активность процесса mysqld

На этом можно остановиться и заняться сервером MySQL (в общем-то, достаточно, источник проблем очевиден), а можно глубже исследовать проблему на системном уровне с помощью dstat и atop

dstat

Заметно активное дисковое чтение, колонка disk/total read, подсвечена зелёным

atop

В верхней половине красным выделен на 99% загруженный диск, в нижней — активное чтение процессом mysqld (столбец RDDSK)

Осталось соединиться с сервером MySQL и выяснить, что происходит:

mysql> show processlist;
 +-------+-------+--------------------+--------+---------+------+----------------------+------------+
 | Id    | User  | Host               | db     | Command | Time | State                | Info       |
 +-------+-------+--------------------+--------+---------+------+----------------------+------------+
 ...
 | 35804 | ixu   | www.soft.com:35589 | soft   | Sleep   |  751 |                      | NULL       |
 | 35806 | ixu   | www.soft.com:36360 | soft   | Query   |    0 | statistics           | SELECT ... |
 | 35813 | ixu   | www.soft.com:37779 | soft   | Query   |    1 | Sorting result       | SELECT ... |
 ...
 | 35871 | ixu   | www.soft.com:50581 | soft   | Query   |  175 | Copying to tmp table | SELECT ... |
 ...
 | 36039 | root  | localhost          | NULL   | Query   |    0 | NULL                 | show proces|
 +-------+-------+--------------------+--------+---------+------+----------------------+------------+
 25 rows in set (0.00 sec)

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

Dstat: Многогранная утилита мониторинга статистики ресурсов

Позиционируется автором, как объединённая замена традиционным Unix инструментам: vmstat, iostat, netstat and ifstat

  • Сочетает информацию vmstat, iostat, ifstat, netstat и др.
  • Показывает различные статистики в едином временном масштабе
  • Позволяет включать/сортировать счётчики статистики
  • Имеет модульный дизайн, кроме существующих, можно дописать свои счётчики
  • Позволяет группировать блочные / сетевые устройства с выводом суммарной статистики
  • Позволяет проследить количество прерываний по отдельным устройствам
  • Цветная индикация, экспорт в CSV

Доступен во многих Linux репозиториях, включая пакет dstat в публичном yum репозитории Oracle Enterprise Linux

Atop — полноэкранный терминальный монитор производительности, показывающий активность всех процессов (поотдельности, даже если процесс завершил выполнение в течение интервала измерения)
  • Показывает использование ресурсов: cpu-, memory-, swap-, дисковую активность, а также сетевую активность (при установке опционального kernel patch) по процессам и на системном уровне
  • Позволяет упорядочивать процессы по потреблению определённых ресурсов
  • Подсвечивает критические ресурсы

RPM пакеты и исходники — на сайте разработчика (GPL) и во многих репозиториях

Добавить комментарий »

Комментариев нет.

RSS feed for comments on this post. TrackBack URI

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

Блог на WordPress.com.

%d такие блоггеры, как: