Поиск по сайту:

4 инструмента мониторинга производительности Linux на базе CLI: top, htop, ps и vmstat


На этой странице

  1. Что мы будем здесь делать?
  2. Почему интерфейс командной строки?
    1. 1. Верхняя
    2. 2. Htop
    3. 4. PS
    4. 4. Vmstat

    Linux — очень стабильная операционная система с сильными функциями безопасности. В некоторых случаях нам может потребоваться наблюдать за производительностью нашей системы, возможно, из-за какого-либо технического сбоя или в рамках плановой проверки работоспособности. Измерение производительности дает нам быстрое представление о том, как работает наша система, например. журналы производительности могут сообщить нам, какие процессы запущены, сколько памяти используется, сколько процессора используется и т. д. Эта информация также помогает нам принимать решения, связанные с эффективным планированием ресурсов, отладкой системных проблем и т. д. Большинство дистрибутивов Linux предоставляют команды: линейные и графические инструменты для выполнения этой задачи. Некоторые из них поставляются вместе с ОС, а некоторые, возможно, потребуется установить. Эти инструменты классифицируются как инструменты мониторинга в реальном времени или инструменты на основе журналов.

    Инструменты мониторинга в реальном времени, как следует из названия, предоставляют информацию о системе в ее текущем состоянии. Результаты постоянно обновляются.

    Инструменты на основе журнала сохраняют результаты производительности в файле, который впоследствии можно извлечь для обработки, анализа или работы с другим приложением.

    Что мы будем делать здесь?

    В этом руководстве мы представим некоторые из часто используемых инструментов командной строки для мониторинга производительности системы. В этом руководстве мы используем ОС Ubuntu 20.04, хотя инструменты, которые мы собираемся обсудить, доступны для большинства дистрибутивов на базе Linux.

    Почему CLI?

    Один очевидный вопрос, который может прийти на ум, заключается в том, почему нас больше интересуют инструменты на основе командной строки. Первая причина заключается в том, что вам не всегда может повезти заставить графическую среду работать, например. система, над которой вы работаете, может быть удаленным производственным сервером и не имеет графического интерфейса. Если на данный момент у вас есть локальная система, у вас может не быть привилегий для установки на ней графического интерфейса. Другая причина заключается в том, что с интерфейсом командной строки у нас есть возможность многозадачности. Tmux — это такое приложение, из которого мы можем одновременно отслеживать несколько систем.

    1. Верх

    Эта команда отображает сводку состояния системы в реальном времени. Вывод отображает объем системной памяти (ОЗУ), используемой для различных целей, процент использования ЦП, память подкачки и другую информацию. Статистика процессов с точки зрения использования памяти и процессора также отображается простым запуском команды top без каких-либо параметров:

    Мы также можем выбрать столбцы для отображения в «верхнем» выводе, набрав «f» во время работы «top». На новом экране выберите или отмените выбор любого столбца, нажав «пробел» или «d», а затем нажмите «esc», чтобы вернуться. На рисунке ниже мы удалили несколько столбцов и добавили новый (GID):

    2. Хтоп

    Команда Htop отображает данные более информативно и интерактивно. Имена процессов более наглядны, а интеграция с мышью является дополнительной функцией, которой нет в команде «top». Мы можем использовать мышь для выбора различных столбцов, отображаемых на выходе терминала. Еще одним преимуществом является то, что он обеспечивает цветовое кодирование, чтобы легко понять и проанализировать вывод. «Htop» можно установить в Ubuntu 20.04 с помощью команды:

    $ sudo apt install htop

    Для настройки различных параметров Htop использует функциональные клавиши. Например, F3 можно использовать для поиска вывода, отображаемого на консоли. Чтобы вывести список процессов, принадлежащих конкретному пользователю, используйте следующую команду:

    $ htop -u User_Name

    Для пользователя root команда будет такой:

    $ htop -u root
    $ htop -C

    4. пс

    Реализация команды «ps» заметно различается в разных системах Unix, например. он может использовать один флаг (опцию) для одной системы и другой для другой системы, даже если вывод может быть одинаковым в обоих случаях. В случае команды «ps» вывод является статическим, в отличие от «top» и «htop», где мы получаем обновления в реальном времени. Если параметр не передан, команда «ps» возвращает имя активной оболочки и возможных процессов.

    Чтобы отобразить все запущенные процессы, в том числе принадлежащие другим пользователям (владельцам), используйте команду:

    $ ps aux

    Поскольку мы использовали опцию «u», также будут отображаться имена пользователей. Еще один способ отобразить список запущенных в системе процессов — использовать команду:

    $ ps -A

    Вы, наверное, заметили, что выходные данные команды ps обычно имеют большой размер. Чтобы упростить анализ или фильтрацию, мы можем использовать команду «grep». Например, для фильтрации процессов ‘/usr/lib/firefox/firefox’ используйте:

    $ ps aux | grep ‘/usr/lib/firefox/firefox/
    $ ps -aux > output.txt

    Приведенная выше команда направит вывод в файл «output.txt».

    4. Вмстат

    Репортер виртуальной памяти или vmstat собирает данные о ЦП, виртуальной памяти (swapd), блочном вводе-выводе, дисках и т. д. Если параметр не используется, он показывает среднюю информацию об этих параметрах. Среднее значение берется с момента последней перезагрузки системы. Мы можем указать частоту дискретизации, после которой данные будут отображаться на терминале:

    $ vmstat  2

    Использование опции «-a» даст вам активную и неактивную системную память. Как и команда «ps», вывод «vmstat» зависит от платформы. Мы также можем указать количество измерений:

    $ vmstat 1 4

    Заключение


    Это краткое описание четырех инструментов командной строки, которые обычно используются и доступны в большинстве дистрибутивов на базе Linux. Есть еще много инструментов, на которые можно рассчитывать. Каждый инструмент имеет свои плюсы и ограничения, и выбор конкретного инструмента зависит от точки приложения. Мы только коснулись поверхности, чтобы дать обзор этих инструментов, вы можете найти дополнительную информацию и варианты использования, обратившись к справочным страницам.