Sysstat: установка и базовое руководство
Sysstat — это набор инструментов для логирования и мониторинга систем Linux/Unix. Он удобен для диагностики производительности и поиска причин проблем. Несмотря на наличие графических и API-инструментов в разных дистрибутивах, sysstat остаётся выбором опытных пользователей благодаря простоте, надёжности и способности записывать обширную телеметрию системы.
Установка
Чтобы установить sysstat на Red Hat-подобном дистрибутиве с помощью yum:
yum -y install sysstatДля Debian-подобного дистрибутива с помощью apt:
apt-get install sysstatВ Ubuntu sysstat обычно доступен в менеджере программ.

Важно: на современных системах с systemd вместо запуска через /etc/init.d можно использовать systemctl. См. раздел про управление службой ниже.
Включение сбора данных
После установки откройте конфигурацию демона. В Debian/Ubuntu файл конфигурации обычно находится по пути /etc/default/sysstat. Пример редактирования в графическом редакторе:
gksu gedit /etc/default/sysstatВ файле найдите переменную, отвечающую за запуск сборщика данных, и установите значение в true:
ENABLED="true"
Сохраните файл и запустите демон. На системах SysV:
/etc/init.d/sysstat startНа systemd-системах можно включить и запустить службу так:
systemctl enable sysstat
systemctl start sysstatВажно: sysstat по умолчанию собирает данные периодически (обычно каждые 10 минут) и сохраняет их в /var/log/sa или в аналогичной директории.
Общие приёмы использования
Ниже — основные команды, которые помогут быстро получить представление о состоянии системы. Во всех примерах с реальным временем первый параметр — интервал в секундах, второй — количество отчётов.
Проверка использования CPU
Показать статистику CPU за текущий день:
sar -uПоказывать загрузку CPU в реальном времени каждые 2 секунды всего 10 раз:
sar -u 2 10Чтобы увидеть активность каждого ядра, используйте ключ -P ALL. Пример: один снимок каждой секунды:
sar -P ALL 1 1
Память
Показать использование памяти в реальном времени каждую 2 секунды 10 раз:
sar -r 2 10
Отчёт по устройствам и вводу/выводу
Отобразить статистику по устройствам, показывая передачи в секунду и объёмы чтения/записи каждые 2 секунды 10 раз:
iostat -d 2 10
Короткие пояснения:
- tps — передачи в секунду (transfers per second)
- Blk_read/s — блоки, прочитанные в секунду
- Blk_wrtn/s — блоки, записанные в секунду
- Blk_read — всего прочитано блоков
- Blk_wrtn — всего записано блоков
Для расширённой статистики I/O используйте -x с заданием интервала и количества отчётов:
iostat -x 2 5
Информация по запущенным процессам
pidstat позволяет получить детальную статистику по процессам. Показать I/O по всем процессам:
pidstat -d
Реальное время, например каждые 2 секунды 5 раз:
pidstat -d 2 5Анализ использования памяти по процессам:
pidstat -r 2 5
Мини-методика расследования всплеска CPU
- Зафиксируйте точное время всплеска по метрикам или алертам.
- Снимите быстрые данные: sar -u 1 10 и pidstat -u 1 10, чтобы увидеть нагрузку и виновников.
- Выделите PID с высокой долей CPU и проверьте их I/O через pidstat -d и iostat.
- Просмотрите логи приложения и системные журналы (journalctl, /var/log).
- Если требуется, сделайте профилирование процесса (perf, strace).
- Сравните с историческими данными sar -f /var/log/sa/saDD.
Совет: сначала найдите процессы, потребляющие ресурсы, затем проверяйте подсистемы диска и сети — часто они взаимосвязаны.
Когда sysstat не подойдёт
- Проблемы, длящиеся меньше интервала сбора, могут не попасть в логи. Решение: уменьшить интервал или использовать трассировку в реальном времени.
- Sysstat не показывает стек вызовов и поведение в коде приложения; нужны профилировщики и дебаггеры.
- В контейнерах и виртуальных машинах метрики могут отражать агрегаты хоста, а не гостя.
Альтернативы и дополнения
- top/htop — интерактивный обзор процессов в реальном времени.
- glances — расширенный консольный монитор с веб-интерфейсом.
- collectd/Telegraf + Prometheus/Grafana — для централизованного сбора, хранения и визуализации с алертингом.
- perf, strace — для глубокого анализа и профилирования.
Выбирайте sysstat для хранения исторических локальных метрик и быстрого расследования; добавляйте централизованные решения для долгосрочного мониторинга и алёртов.
Быстрый шпаргалка команд
# Установка
yum -y install sysstat
apt-get install sysstat
# Включение и запуск
# SysV
/etc/init.d/sysstat start
# systemd
systemctl enable sysstat
systemctl start sysstat
# CPU
sar -u # статистика за день
sar -u 2 10 # realtime: 2s интервал, 10 отчётов
sar -P ALL 1 1 # все ядра, 1s, 1 отчёт
# Память
sar -r 2 10
# I/O
iostat -d 2 10
iostat -x 2 5
# Процессы
pidstat -d
pidstat -d 2 5
pidstat -r 2 5Чек-листы по ролям
Администратор:
- Установить пакет и включить демона.
- Убедиться, что файлы данных появляются в /var/log/sa.
- Настроить ротацию и резервное хранение логов.
SRE:
- Интегрировать метрики в систему алертинга.
- Задокументировать стандартные сценарии реагирования.
- Настроить минимулирование интервалов для критических систем.
Разработчик:
- Использовать pidstat и sar для воспроизведения и диагностики проблем производительности.
- Собирать информацию о потреблении ресурсов и делиться с операционной командой.
Краткий глоссарий
- sar — утилита для чтения и отображения системных метрик из сохранённых файлов и в реальном времени.
- iostat — инструмент для отчёта по вводу/выводу и загрузке устройств.
- pidstat — показывает статистику по отдельным процессам.
- tps — передачи операций в секунду.
Итог
Sysstat — эффективный инструмент для локального мониторинга и расследований производительности. Он прост в установке, даёт исторические данные и вписывается в набор инструментов любой команды. Для длительного хранения, визуализации и алертинга стоит сочетать sysstat с централизованными решениями.
Важно: делитесь вашими сценариями использования и приёмами — это помогает строить практические рекомендации для повседневных задач.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента