Команда Linux sar

Linux 命令大全Энциклопедия команд Linux


1. Что такое команда sar?

sar (System Activity Reporter) — это мощный инструмент мониторинга производительности в системах Linux, входящий в пакет sysstat. Он может собирать, выводить и сохранять различную информацию об активности системы, включая:

  • Использование CPU
  • Использование памяти
  • Активность ввода-вывода
  • Сетевая статистика
  • Активность процессов
  • Нагрузка на устройства и т. д.

1.1 Преимущества команды sar

  1. Анализ исторических данных: Позволяет просматривать состояние системы в любой момент в прошлом
  2. Комплексный мониторинг: Охватывает все ключевые показатели производительности системы
  3. Низкие накладные расходы: Сбор данных оказывает минимальное влияние на производительность системы
  4. Автоматизация: Можно настроить автоматический периодический сбор данных

2. Установка и базовая настройка

2.1 Установка пакета sysstat

В большинстве дистрибутивов Linux команду sar можно получить, установив пакет sysstat:

# Ubuntu/Debian
sudo apt-get install sysstat

# CentOS/RHEL
sudo yum install sysstat

# Fedora
sudo dnf install sysstat

2.2 Включение сбора данных

После установки необходимо включить службу сбора данных:

Пример

# Отредактируйте файл конфигурации
sudo vi /etc/default/sysstat

# Измените ENABLED="false" на
ENABLED="true"

# Перезапустите службу
sudo systemctl restart sysstat

По умолчанию sar собирает данные каждые 10 минут и сохраняет их в/var/log/sysstat/каталог.


3. Базовый синтаксис и общие параметры

3.1 Формат базового синтаксиса

sar [选项] [间隔时间] [次数]

3.2 Пояснение общих параметров

Параметр Описание
-A Показать все отчёты
-u Показать загрузку ЦП
-r Отображение использования памяти
-b Отображение статистики ввода-вывода и скорости передачи
-n DEV Отображение статистики сетевых устройств
-q Отображение системной нагрузки и длины очереди
-d Отображение активности диска
-P ALL Отображение статистики по каждому процессору
-s Указать время начала
-e Указать время окончания
-f Чтение данных из указанного файла

4. Примеры практического применения

4.1 Мониторинг использования процессора в реальном времени

Пример

# Обновлять каждые 2 секунды, отображать 5 раз всего
sar -u 2 5

Пример вывода:

Linux 5.4.0-91-generic (hostname)  03/15/2023  _x86_64_  (4 CPU)

10:30:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
10:30:03 AM     all      5.12      0.00      1.02      0.51      0.00     93.35
10:30:05 AM     all      6.23      0.00      1.34      0.23      0.00     92.20

4.2 Просмотр исторического использования памяти

Пример

# Просмотр использования памяти за сегодня
sar -r

# Просмотр данных за указанную дату (необходимо указать файл)
sar -r -f /var/log/sysstat/sa15  # Данные за 15-е число

4.3 Мониторинг активности дискового ввода-вывода

Пример

# Мониторинг активности диска, обновление каждую 1 секунду, всего 10 раз
sar -d 1 10

4.4 Просмотр статистики сетевых интерфейсов

Пример

# Мониторинг активности сетевого интерфейса
sar -n DEV 1 5

5. Расширенное использование и советы

5.1 Объединение нескольких метрик для мониторинга

Пример

# Одновременный мониторинг CPU, памяти и диска
sar -urdb 1 5

5.2 Создание отчетов за определенный период времени

Пример

# Просмотр использования CPU с 9 до 10 утра
sar -u -s 09:00:00 -e 10:00:00

5.3 Сохранение вывода в файл

Пример

# Сохранение результатов мониторинга в файл
sar -A 1 10 > system_report.log

5.4 Мониторинг конкретного ядра CPU

Пример

# Мониторинг использования CPU0
sar -P 0 1 5

6. Руководство по интерпретации данных

6.1 Интерпретация метрик CPU

Метрика Значение Нормальный диапазон
%user Использование CPU в пространстве пользователя <70%
%system Использование CPU в пространстве ядра <30%
%iowait Время ожидания CPU операций ввода-вывода <5%
%idle Время простоя CPU >20%

6.2 Интерпретация метрик памяти

Метрика Значение
kbmemfree Свободная физическая память (KB)
kbmemused Используемая физическая память (KB)
%memused Уровень использования памяти
kbbuffers Память, используемая буферами (KB)
kbcached Память, используемая кэшем (KB)

6.3 Интерпретация метрик диска

Метрика Значение
tps Передач в секунду
rd_sec/s Секторов прочитано в секунду
wr_sec/s Секторов записано в секунду
%util Загрузка устройства

7. Общие методы устранения неполадок

7.1 Выявление узких мест процессора

Если%userили%systemстабильно остается выше 80%, это может указывать на:

  • Приложения с высокой вычислительной нагрузкой
  • Чрезмерное количество системных вызовов
  • Необходимо оптимизировать код или добавить ресурсы процессора

7.2 Определение нехватки памяти

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

  • %memusedСтабильно выше 90%
  • kbcachedЗначение очень низкое
  • Раздел подкачки (kbswpused) использование высокое

7.3 Выявление узких мест ввода-вывода

%iowaitВысокая нагрузка и диск%utilВысокий показатель указывает:

  • Дисковый ввод-вывод становится узким местом
  • Возможно, потребуются более быстрые устройства хранения
  • Или оптимизируйте операции, интенсивно использующие ввод-вывод

Linux 命令大全Энциклопедия команд Linux

Другие расширения