Как посмотреть, сколько ресурсов потребляется
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Анализ потребления ресурсов в Linux
Мониторинг ресурсов — ключевая задача для DevOps-инженера. Для анализа используем несколько категорий инструментов:
1. Базовые утилиты командной строки
top и htop
Показывают динамическую сводку по системе в реальном времени.
top -n 1 -b | head -20 # Статический снимок для скриптов
htop # Интерактивная версия с цветовым выделением
Плюсы: Быстрый обзор, не требует установки (top). Минусы: Ограниченная история.
vmstat, mpstat, iostat
Специализированные утилиты для детального анализа.
vmstat 1 5 # Виртуальная память, процессы, CPU за 5 интервалов
iostat -dx 2 # Дисковые операции с расширенной статистикой
mpstat -P ALL 2 # Загрузка каждого ядра CPU
free и df
Оценка памяти и дискового пространства.
free -h # Человеко-читаемый вид памяти (RAM + swap)
df -hT # Файловые системы с типами и размерами
2. Мониторинг процессов
ps с гибкой фильтрацией
ps aux --sort=-%mem | head -10 # Топ-10 процессов по памяти
ps -eo pid,ppid,%cpu,%mem,cmd --sort=-%cpu | head -10 # Топ по CPU
pidstat (из пакета sysstat)
Детальная статистика по процессам с интервалами.
pidstat -urd -p <PID> 2 # CPU, память, дисковые операции для процесса
3. Сетевые ресурсы
iftop, nethogs
Анализ трафика в реальном времени.
iftop -i eth0 # Потоковый трафик по интерфейсу
nethogs eth0 # Потребление трафика процессами
ss (современная замена netstat)
ss -tunap # Все TCP/UDP подключения с процессами
4. Дисковые операции и inode
iotop и du
iotop -o # Показывает активные процессы с дисковыми операциями
du -sh /var/log/* # Размер директорий
find / -xdev -type f -size +100M # Поиск больших файлов
Для inode (ограничение на количество файлов):
df -i # Использование inode по файловым системам
5. Продвинутые инструменты
dstat
Комбинированная статистика в одном интерфейсе.
dstat -tcmnd --disk-util # CPU, память, сеть, диски
/proc файловая система
Ручной анализ через виртуальные файлы.
cat /proc/meminfo # Детальная информация о памяти
cat /proc/loadavg # Нагрузка за 1, 5, 15 минут
cat /proc/<PID>/status # Статус конкретного процесса
6. Сбор метрик и дашборды
Для долгосрочного анализа и визуализации используем:
- Prometheus + Grafana: Сбор метрик и настраиваемые дашборды.
- ELK Stack (Elasticsearch, Logstash, Kibana): Для логов и индексации.
- Datadog/New Relic: Коммерческие решения с расширенной аналитикой.
Рекомендации по использованию
- Для быстрой диагностики используйте
htop+iftop+iotop. - Для скриптового анализа подходят
vmstat,iostat,mpstatс интервалами. - При дебаге процессов применяйте
pidstatиpsс фильтрами. - Для долгосрочного мониторинга внедряйте Prometheus с алертами.
Пример анализа нагрузки:
При высокой загрузке CPU смотрим htop для идентификации процессов, затем pidstat -urd 1 для детализации, и vmstat 1 для проверки на наличие блокировок ввода-вывода или свопа.
Инструменты выбираются в зависимости от задачи: оперативный анализ, сбор статистики или построение системы мониторинга. Ключевой навык — интерпретация данных, а не просто сбор.