Nmon

Nmon (Монитор Найджела[2]) — инструмент для мониторинга производительности компьютера на операционных системах AIX и Linux[3][4]. В режиме реального времени nmon отображает производительность на экране в компактной форме или сохраняет те же данные в файл CSV для последующего анализа, что облегчает аудит использования ресурсов, настройку и поиски «узких мест».

nmon для Linux распространяется как открытое ПО по лицензии GNU General Public License, а для AIX — как проприетарная программа, интегрированная в саму AIX.

Общие сведения
nmon
Тип Системный монитор
Автор Найджел Гриффитс
Разработчик IBM
Операционные системы AIX, Linux
Последняя версия
Лицензия GNU GPL (Linux), проприетарное программное обеспечение (AIX)
Сайт nmon.sourceforge.net/pmw…

Описание

nmon собирает следующие статистики операционной системы:

  • загрузка CPU и потоков CPU;
  • частота CPU для серверов и виртуальных машин с изменяемой тактовой частотой;
  • показатели GPU, включая использование, частоту (МГц) и температуру;
  • использование физической и виртуальной памяти;
  • операции чтения/записи и передачи дисков, время обслуживания и ожидания;
  • группы дисков (задаёт пользователь);
  • swap и paging;
  • сетевой ввод/вывод и передачи;
  • локальные файловые системы;
  • сетевые файловые системы (NFS);
  • топ процессов по CPU, по занимаемой памяти и по I/O;
  • статистики ядра: run queue, context-switch, fork, среднее значение загрузки и аптайм;
  • поддержка больших и огромных страниц памяти;
  • показатели виртуальных машин (зависит от оборудования, полезно для KVM и хостинга ВМ на Linux);
  • ресурсы на сервере и виртуальных машинах;
  • команда nmon -h выводит подробную справку;
  • для записи статистики в файл используйте -f или -F.

В режиме на экране набор отображаемых данных управляется пользователем при помощи однобуквенных переключателей (например, c для CPU; двукратное нажатие c — выключает отображение CPU; h — вызов справки).

При сохранении данных в файл используется стандартный набор метрик, однако дополнительные параметры можно добавить через командную строку (nmon -? отобразит их список).

Файлы статистики можно анализировать с помощью nmon_analyzer[5].

История

Первая версия nmon была разработана для операционной системы IBM AIX (релиз 4.3 и новее) и распространялась как исполняемый файл только для скачивания с IBM AIX wiki[6].

  • Позднее была выпущена версия для Linux, поддерживающая IA-32, x86, x86_64, IBM RS/6000 и POWER, мэйнфреймы и ARM (включая Raspberry Pi). Nmon для Linux с июля 2009 года открыта с исходным кодом, размещённым на Sourceforge[7].
  • Код nmon для AIX был позже включён в состав дистрибутива AIX. Начиная с AIX 5.3 TL09 и AIX 6.1 TL02, программа включена в стандартную установку и официально поддерживается IBM. Команды nmon[8] и topas[9] используют одинаковый бинарный файл, но работают по-разному в зависимости от имени исполняемого файла.

Два издания — для AIX и Linux — имеют совершенно разный исходный код, но предлагают схожий набор возможностей, опций и типов данных в пределах возможностей соответствующих систем.

Возможности

  • Два режима работы:
  1. Онлайн-мониторинг: взаимодействует с терминалом через curses, обновляет экран для мониторинга в реальном времени.
  2. Запись в файл: сохраняет данные мониторинга в CSV для последующего анализа и построения графиков; включает важные параметры конфигурации, полезные для рекомендаций по оптимизации производительности.
  • Главный акцент — компактность и удобство анализа для тюнинга: мониторинг CPU, памяти, дисков, адаптеров, сетей, NFS, ядра, файловых систем, Workload Manager (AIX), Workload Partitions (AIX), топ-процессов.
  • Поддерживаются старые релизы AIX, Linux на x86, POWER, мэйнфреймах и прочем совместимом железе.

Скриншоты

Альтернативы

На AIX схожим инструментом является topas, умеющий выводить отчёты в файл, однако этот формат неудобен для обработки в электронных таблицах или веб-инструментах наподобие RRDtool.

На Linux для мониторинга процессов и CPU подходит top, но он не включает работу с дисками и сетями. Для анализа дисковой нагрузки можно использовать iostat, а для сети — ntop; но ни одна из этих утилит не поддерживает сохранение результатов в пригодном для табличной обработки виде. Для формата CSV можно использовать утилиту Linux dstat.

Примечания

  1. nmon for Linux
  2. Layton, Jeff Monitoring with Nmon » ADMIN Magazine (амер. англ.). ADMIN Magazine. Дата обращения: 10 сентября 2023. Архивировано 12 декабря 2024 года.
  3. Wallen, Jack How to monitor your Linux servers with nmon (англ.). TechRepublic (14 марта 2017). Дата обращения: 7 декабря 2023. Архивировано 8 июля 2025 года.
  4. Terpollari, Oltjano Nmon: Analyze and Monitor Linux System Performance (амер. англ.). tecmint.com. Дата обращения: 7 декабря 2023. Архивировано 24 апреля 2014 года.
  5. Griffiths, Nigel nmon_analyser: Бесплатная программа для создания отчётов о производительности AIX. developer.ibm.com (13 января 2020). Архивировано 26 января 2025 года.
  6. Griffiths, Nigel IBM Developer. IBM developerWorks (27 февраля 2006). Дата обращения: 24 января 2015. Архивировано 28 января 2015 года.
  7. nmon for Linux — HomePage. nmon.sourceforge.net. Дата обращения: 24 января 2015. Архивировано 14 августа 2009 года.
  8. nmon Command. Дата обращения: 24 января 2015. Архивировано 11 октября 2014 года.
  9. Commands Reference, Volume 5, s - u. IBM 386. Архивировано 9 ноября 2023 года.

Ссылки