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

Руководство по команде atop в Linux


Команда atop — это инструмент для мониторинга системных ресурсов в Linux. Он отображает массу информации, связанной с объемом нагрузки на ресурсы системы на уровне процессов. Пользователь может получить неограниченные преимущества, если эта утилита будет освоена.

Прежде всего, мы должны установить в системе команду atop. Пользователи Debian/Ubuntu могут сделать это следующим образом:

sudo apt install atop

Другие пользователи Linux могут использовать свой стандартный менеджер пакетов, за которым следует ключевое слово atop.

Эта команда имеет возможность отображать несколько конфиденциальных сведений, связанных с системой. Чтобы предотвратить любую абстракцию данных, мы можем получить повышенный доступ, используя sudo su или sudo -s. У нас есть полная документация по sudo.

Основной вывод команды atop

Чтобы отобразить все использование ресурсов системы на уровне процесса, мы можем просто запустить atop в терминале.

atop

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

Совокупная статистика команды atop

Каждая запись в этом представлении фокусируется на конкретном системном ресурсе.

1. Статистика процессов

  • PRC означает «процесс».
    • Первые два значения — это время, затрачиваемое процессами sys (системный) и user.
    • За ним следует общее количество процессов в виде #proc.
    • Следующее значение — это количество потоков, работающих в настоящее время в системе. (#trun)
    • #tslpi обозначает количество потоков, которые в настоящее время находятся в спящем режиме и не могут быть прерваны.
    • #tslpu обозначает количество потоков, которые в настоящее время находятся в состоянии ожидания и не могут быть прерваны.
    • Следующее значение — это количество процессов-зомби.
    • Далее идет количество системных вызовов клонов.
    • Последнее значение — это количество процессов, завершившихся за прошедшее время. (#выход)

    2. Статистика, связанная с производительностью

    • ЦП – относится к загрузке ЦП.
      • Первые два значения показывают процент использования всех ядер системными и пользовательскими процессами.
      • Процент ЦП, используемый для запросов на прерывание. (запрос)
      • Следующее значение – это процент бездействия для всех объединенных ядер.
      • Следующее значение указывает время ожидания каждого ядра ЦП.
      • Далее процент времени кражи.
      • guest — это доля гостя, то есть время, затрачиваемое ЦП на другие виртуальные машины.
      • Последние два значения указывают текущую частоту процессора.

      • Первые три значения — это средние нагрузки с разными периодами: 1, 5 и 15 минут.
      • За ним следует количество переключений контекста (csw)
      • Далее количество прерываний (intr)
      • Последнее значение — количество доступных ЦП.

      3. Статистика, связанная с памятью

      • MEM — использование памяти
        • Общая поддерживаемая физическая память.
        • Память на данный момент свободна.
        • Текущая кэш-память.
        • buff как в \buffer - это объем памяти, потребляемый метаданными файловой системы.
        • Сумма памяти для выделения памяти ядром отображается как slab.
        • Объем общей памяти.

        SWP - подкачка памяти.

        3. Статистика по дискам

        • DSK – Использование диска
          • Первое значение обозначает процент времени, в течение которого система занята обработкой запросов.
          • Отправленные запросы на чтение.
          • Выданы письменные запросы.
          • Скорость чтения данных (в КБ) на запрос чтения.
          • Скорость записи данных (в КБ) на запрос записи.
          • Следующие два значения — это скорость чтения и записи на диск в мегабайтах.
          • Последнее значение – это среднее количество миллисекунд, потраченных на обработку запросов.

          4. Сетевая статистика

          • NET — сетевая статистика на транспортном уровне
            • transport означает транспортный уровень в сети, который имеет дело с протоколами данных.
            • Количество сегментов, полученных системой по протоколу TCP. (tcpi)
            • Количество переданных сегментов. (TCPO)
            • Аналогичная статистика для протокола UCP. (udpi для входящего UDP) и (udpo для исходящего UDP).
            • tcpao — количество активных открытых соединений TCP.
            • В противоположность предыдущему tcppo указано количество пассивных TCP-соединений, но все еще открытых.
            • Количество повторных передач TCP как tcprs.
            • Количество ошибок ввода UDP как udpie.

            • сеть означает сетевой уровень, который имеет дело с интернет-протоколами, IPv4 и IPv6 вместе взятыми.
            • Количество IP-пакетов, полученных сетевыми интерфейсами. (ipi)
            • Количество IP-пакетов, отправленных с интерфейсов. (ипо)
            • Количество IP-пакетов, перенаправленных на другие интерфейсы. (ipfrw)
            • Количество доставленных IP-пакетов. (доставить)
            • Последние две записи — это количество пакетов ICMP, полученных и переданных сетевыми интерфейсами.

            • Первое значение — это имя сетевого интерфейса, например wlp19s0.
            • Следующие два пакета представляют собой количество пакетов, которые были получены и переданы через конкретный интерфейс. (pcki и pcko)
            • Скорость сети в мегабитах (Мбит/с) в виде sp.
            • Скорость, с которой биты принимаются и передаются в секунду. (si и so)
            • Количество ошибок в полученных и переданных пакетах. (ошибка и ошибка).
            • Последние два значения — это потерянные пакеты в обоих направлениях. (drpi и drpo)

            На этом объяснение верхней панели команды atop завершается.

            Системные ресурсы для каждого процесса

            Стоит заметить, что значения в команде atop постоянно обновляются через определенные промежутки времени.

            Общий вывод команды atop отображает следующие сведения для каждой записи процесса:

            • PID – идентификатор процесса.
            • SYSCPU — объем ЦП, потребляемый процессом при работе системы.
            • USRCPU – количество ЦП, потребляемое процессом во время его работы в пользовательском режиме.
            • VGROW – объем виртуальной памяти, которую процесс занял с момента последнего обновления значения.
            • RGROW — объем резидентной (физической) памяти, увеличенный с момента последнего обновления значения.
            • RDDSK — размер данных, передаваемых во время чтения с диска.
            • WRDSK — размер данных, передаваемых во время записи на диск.
            • RUID – реальный идентификатор пользователя, под которым выполняется процесс.
            • EUID — эффективный идентификатор пользователя, под которым выполняется процесс.
            • ST – текущий статус процесса.
            • EXC – код выхода после завершения процесса.
            • THR — количество потоков в процессе.
            • S – текущий статус основного потока процесса.
            • ЦП – процент использования ЦП для всего процесса.
            • CMD — имя процесса.

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

            Попробуем изучить информацию на уровне процесса для каждого типа системного ресурса.

            Вывод команды atop в памяти

            Команда atop дает возможность изучить потребление памяти каждым процессом, работающим в системе. Мы можем сделать это, запустив:

            atop -m
            

            Как мы видим, верхняя панель остается неизменной, даже если мы добавили параметр памяти -m. Давайте теперь разберемся со столбцами для каждой записи процесса.

            • PID – идентификатор процесса.
            • TID – идентификатор потока.
            • MINFLT – количество незначительных ошибок страниц, которые были устранены путем доступа к данным с бесплатных страниц.
            • MAJFLT – количество серьезных ошибок страниц, которые были устранены путем извлечения данных с диска.
            • VSTEXT — виртуальная память, занятая текстом процесса.
            • VSLIBS – виртуальная память, занимаемая общими библиотеками процесса.
            • VDATA — размер виртуальной памяти для частных данных процесса.
            • VSTACK — размер виртуальной памяти частного стека процесса.
            • VSIZE — общий размер виртуальной памяти процесса.
            • RSIZE — общая резидентная память, занятая процессом.
            • MEM — процент оперативной памяти, потребляемой процессом.

            Процессы отсортированы по столбцу MEM.

            Поскольку atop — это своего рода интерактивная командная утилита, мы можем изменять столбцы изнутри самой себя. Все, что нам нужно сделать, это ввести конкретную опцию, пока она отображает информацию.

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

            Вывод для конкретного диска с помощью команды atom в Linux

            Чтобы извлечь информацию, связанную с использованием диска, мы можем использовать параметр -d вместе с командой atop.

            atop -d
            

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

            • RDDSK — размер данных, передаваемых во время чтения с диска.
            • WRDSK — размер данных, передаваемых во время записи на диск.
            • WCANCL — размер данных, изначально записанных, но позже удаленных.
            • DSK – процент занятого места на диске.
            • CMD — имя процесса.

            Следует отметить, что процессы сортируются по столбцу DSK.

            Найти команды, работающие в фоновом режиме, с помощью команды поверх

            Это дает нам команды, которые выполняются в фоновом режиме как процессы в формате вывода командной строки.

            atop -c
            

            Если вы скопируете и вставите строки в столбец командной строки, вы можете повторно запустить тот же процесс. Этот вывод сообщает нам, какая именно команда была запущена в фоновом режиме для запуска процесса.

            Информация на основе потоков

            Вместо того, чтобы просто проверять информацию о процессе, команда atop предоставляет возможность проверять использование ресурсов конкретным потоком. Чтобы получить доступ к этому выводу, мы можем запустить:

            atop -y
            

            или просто нажмите клавишу y, когда команда уже отображает информацию о системных ресурсах.

            Понятно, что ни один из столбцов системных ресурсов не изменился. Все, что было добавлено, — это количество потоков соответствующего процесса.

            Различная информация

            Существует множество видов информации, которую можно извлечь с помощью команды atop. Вот некоторые из полезных:

            1. Найдите время начала процесса

            Используя опцию -v, мы можем получить характеристики процесса.

            atop -v
            

            2. Количество процессов для каждого пользователя в системе

            atop -au
            

            3. На каком ядре работает процесс?

            Этот особый вид информации относится к характеристикам планирования процесса. Доступ к нему можно получить с помощью параметра -s.

            atop -s
            

            Несколько «верхних» трюков

            Есть некоторые приемы команды atop, которые могут быть полезны:

            • Приостановка экрана поверх с помощью клавиши z.
            • Изменение временного интервала обновления значений — с помощью клавиши i, за которой следует количество секунд, на которое мы хотим изменить его.
            • Прерывание для мгновенного обновления значений с помощью клавиши t.
            • Выход из дисплея — клавиша q.

            Заключение

            Мы знаем, что команда atop может быть слишком сложной для любого пользователя Linux. Требуется терпение и настойчивость, чтобы узнать об этой блестящей команде. По любым вопросам, не стесняйтесь пинговать нас в разделе комментариев.