Как использовать команду sar в Linux
Опубликовано: 2022-06-16 Команда sar
позволяет просматривать статистику производительности для различных элементов вашего компьютера с Linux как в реальном времени, так и в исторических данных. Мы покажем вам, как использовать этот замечательный ресурс.
СВЯЗАННЫЕ С: Как просмотреть статистику производительности системы на вашем Chromebook
Команда сар
Команда sar
, или System Activity Reporter, является частью пакета sysstat
. Он собирает набор статистических данных, таких как загрузка ЦП, подкачка памяти, использование памяти, использование подкачки, сетевой ввод-вывод и многое другое. Это делает эти данные доступными для вас в виде снимков в реальном времени, показывающих, что происходит на вашем компьютере прямо сейчас, и в исторических отчетах.
Он работает в фоновом режиме как демон, собирая набор данных каждые десять минут. Данные за текущий день записываются в текстовый файл. По прошествии полуночи он преобразуется в двоичный файл. Файлы перезаписываются каждый месяц, поэтому они не занимают постоянно место на жестком диске.
Команда sar
позволяет вам опрашивать систему и просматривать статистику. Но сначала вам нужно установить пакет sysstat
.
Установка пакета sysstat
Установка sysstat
очень проста. Мы используем диспетчер пакетов вашей системы Linux для его установки, а затем используем systemd
для включения и запуска фонового демона.
Чтобы установить sysstat
на Ubuntu, мы используем apt:
sudo apt установить sysstat
Чтобы установить sysstat
в Fedora, введите:
sudo dnf установить sysstat
А для установки sysstat на Manjaro используем pacman:
sudo pacman -S sysstat
После установки sysstat
нам нужно включить его, чтобы он мог работать как демон — фоновый процесс — каждый раз, когда вы загружаете компьютер, и нам нужно запустить его сейчас, чтобы мы могли использовать его сразу. Мы используем systemctl
, часть семейства утилит systemd
, для включения и запуска демонов.
sudo systemctl включить sysstat
sudo systemctl запустить sysstat
Чтобы узнать, какую версию sar
вы используете, и убедиться, что она отвечает, вы можете использовать параметр -V
(версия):
сар-V
Статистика в реальном времени с sar
Вы можете использовать sar
, чтобы увидеть, что происходит внутри вашего компьютера прямо сейчас. А поскольку снимок — это всего лишь состояние игры в определенный момент времени, а иногда более полезен тренд , вы можете попросить sar
отобразить несколько снимков с заданным количеством секунд между ними.
Статистика ЦП
Чтобы увидеть три набора статистики ЦП с интервалом в две секунды, мы использовали бы эту команду, в которой используется параметр -u
(ЦП). Обратите внимание, что интервал стоит первым. Таким образом, эта команда гласит: «показать статистику ЦП с шагом в две секунды для трех наборов данных».
сар -у 2 3
Растягивание окна терминала приводит к тому, что таблица выстраивается аккуратно, поэтому ее легче читать.
Заголовок для первого столбца — это время выполнения команды. Значения в столбце — это время сбора каждого набора данных. Остальные столбцы:
- ЦП : количество ядер ЦП или
ALL
для среднего числа всех ядер. - %User : процент времени, затраченного на запуск приложений на уровне пользователя, «в пространстве пользователя».
- %Nice : процент времени, затраченного на запуск приложений на уровне пользователя с приоритетом nice.
- %system : процент времени, потраченного на выполнение процессов на системном уровне в ядре.
- %iowait : процент времени, в течение которого ЦП простаивал с ожидающим запросом дискового ввода-вывода.
- %steal : в виртуальной машине это процент времени, в течение которого виртуальный ЦП простаивал, поскольку ЦП аппаратного хоста обслуживал другую виртуальную машину.
- %idle : Процент времени, в течение которого ЦП простаивал без каких-либо ожидающих запросов дискового ввода-вывода.
Последняя строка представляет собой среднее значение предыдущих строк.
Чтобы просмотреть статистику для конкретного ядра, используйте параметр -P
(на процессор). Далее следует номер ядра ЦП или список или диапазон номеров ядер, например 0,1,4
или 4-8
.
Эта команда просматривает три набора данных с интервалом в одну секунду для ядра 1. Помните, что ядра нумеруются с нуля.
сар-П 1 1 3
Статистика подкачки памяти
Параметр -B
(пейджинг) заставляет sar
отображать статистику, связанную с пейджингом памяти на жестком диске. Мы собираемся запросить два набора информации с интервалом в пять секунд.
сар-Б 5 2
Столбцы содержат следующую информацию.
- pgpgin/s : общее количество килобайт, которое система загружает (извлекает) с жесткого диска в секунду.
- pgpgout/s : общее количество килобайт, которое система выгружает на жесткий диск в секунду.
- fault/s : количество ошибок страниц, как незначительных, так и серьезных, совершаемых системой в секунду.
- majflt/s : количество серьезных ошибок системы за секунду, которые потребовали загрузки страницы памяти с диска.
- pgfree/s : количество страниц, помещаемых системой в список свободных в секунду.
- pgcank/s : количество страниц, сканируемых демоном
kswapd
системы управления памятью в секунду. - pgscand/s : количество страниц, отсканированных напрямую в секунду.
- pgsteal/s : количество страниц, которые система высвобождает из кеша в секунду.
- %vmeff : рассчитывается как
pgsteal
/pgscan
, это показатель эффективности восстановления страниц.
Скорость передачи ввода/вывода
Чтобы просмотреть статистику ввода-вывода и скорости передачи, используйте параметр -b
(обратите внимание, строчная буква «b»). Мы запрашиваем три набора данных с интервалом в четыре секунды.
сар-б 4 3
Это то, что держат столбцы.
- tps : общее количество запросов на передачу в секунду, сделанных на физические устройства. Обратите внимание, что это количество запросов . Возможно, не все они были успешными.
- rtps : общее количество запросов на чтение в секунду, отправленных физическим устройствам.
- wtps : общее количество запросов на запись в секунду, отправленных на физические устройства.
- dtps : общее количество запросов на удаление в секунду, отправленных физическим устройствам.
- хлеб/с : общий объем данных, считанных с физических устройств. Цифра дана блоками по 512 байт в секунду.
- bwrtn/s : общий объем данных, записываемых на физические устройства в блоках в секунду.
- bdscd/s : общее количество данных, отбрасываемых в блоках в секунду.
Есть много других категорий информации, которые вы можете выбрать для просмотра. Все они используются одинаково. Вы также можете использовать опцию -A
(all), чтобы увидеть полный дамп всего, что sar
может вам выдать.
Полный список смотрите на справочной странице sar.
СВЯЗАННЫЕ С: Что такое скорость чтения/записи и почему они важны?
Историческая статистика С саром
Для просмотра любых исторических данных достаточно просто добавить параметры -s
(начало) и -e
(конец) к любой из обычных команд sar
. Время выражено в 24-часовом формате.
Чтобы увидеть, какой была загрузка ЦП между 06:30 и 07:15 сегодня , мы будем использовать эту команду.
сар -у -с 06:30:00 -е 07:15:00
Чтобы увидеть, какой была ситуация в предыдущий день, используйте число в качестве флажка опции. Цифра указывает, за какой день нужно отчитываться. Опция -1
будет означать вчера, опция -2
будет означать два дня назад и так далее.
Сгенерируем отчет между 13:00 и 13:00, используя вчерашние данные.
сар -у -1 -с 13:00:00 -е 13:30:00
Другой способ указать день, за который вы хотите создать отчет, — использовать имя файла данных за этот день в командной строке. Мы делаем это с опцией -f
(имя файла).
Ежедневные файлы называются «saXX», где XX заменяется на день месяца. Они создаются в папке журнала вашего компьютера с Linux. Папка журнала sar
, вероятно, называется «/var/log/sa/» или «/var/log/sysstat/».
В Ubuntu это «/var/log/sysstat/», поэтому формат нашей команды для просмотра загрузки ЦП между 14:00 и 14:30 на 21-й день этого месяца будет выглядеть следующим образом:
sar -u -s 14:00:00 -e 14:30:00 -f /var/log/sysstat/sa21
Информация – сила
И sar
, безусловно, дает вам достаточно информации для принятия обоснованных решений о производительности вашего компьютера.
Если вы выполняете функцию поддержки — или вы являетесь технической поддержкой для своих друзей и семьи — возможность просматривать исторические данные — это отличный способ начать копаться в проблеме, о которой вам сообщили сегодня, но которая на самом деле произошла вчера. Или на прошлой неделе.
СВЯЗАННЫЙ: Система работает медленно? Как узнать, привязан ли Linux к памяти, процессору или вводу-выводу