Полезные команды для просмотра состояния работы сервера на Linux
Подробный список параметров и данных для анализа работы Linux-системы, сгруппированных по категориям:
1. Системная информация
uname -a # Ядро, архитектура
cat /etc/os-release # Дистрибутив и версия
hostnamectl # Детальная системная информация
uptime # Время работы и нагрузка
date # Текущее время2. Процессор (CPU)
lscpu # Архитектура процессора
cat /proc/cpuinfo # Детальная информация
mpstat -P ALL 1 5 # Статистика по ядрам
top / htop # Интерактивный мониторинг
vmstat 1 10 # Статистика системы
sar -u 1 5 # Историческая нагрузка3. Память (RAM)
free -h # Общая память и swap
cat /proc/meminfo # Детальная информация
vmstat -s # Статистика памяти
slabtop # Использование slab-кэша4. Диски и файловые системы
df -h # Использование дискового пространства
du -sh /path # Размер директории
lsblk # Блочные устройства
iostat -x 1 5 # IO статистика
iotop # Интерактивный мониторинг IO
smartctl -a /dev/sda # SMART статус дисков
cat /proc/mounts # Примонтированные ФС5. Сеть
ip addr show # Сетевые интерфейсы
ss -tulpn # Открытые порты и процессы
netstat -s # Статистика сети
iftop / nethogs # Интерактивный трафик
cat /proc/net/dev # Статистика сетевых интерфейсов
ping / traceroute # Сетевая диагностика6. Процессы
ps aux --sort=-%mem # Все процессы (сортировка по памяти)
ps aux --sort=-%cpu # Сортировка по CPU
pstree -p # Дерево процессов
pidstat 1 5 # Статистика по процессам
lsof # Открытые файлы процессами7. Температура и hardware
sensors # Температура компонентов
cat /proc/acpi/thermal_zone/*/temperature
dmidecode # Информация об оборудовании
lspci / lsusb # PCI и USB устройства8. Системные логи
journalctl -n 100 # Последние логи systemd
dmesg | tail -50 # Последние сообщения ядра
tail -f /var/log/syslog # Мониторинг логов в реальном времени9. Производительность системы
cat /proc/loadavg # Load average (1, 5, 15 минут)
cat /proc/stat | grep -E "(ctxt|intr|processes)" # Контекстные переключения, прерывания
df -i # Использование inodes
cat /proc/sys/fs/file-nr # Очереди дисков10. Пользователи и сессии
who # Текущие пользователи
w # Пользователи и их процессы
last # История входа пользователей
cat /etc/passwd # Информация о пользователях11. Скрипт для сбора всей информации
#!/bin/bash
LOG_FILE="system_report_$(date +%Y%m%d_%H%M%S).log"
{
echo "=== СИСТЕМНЫЙ ОТЧЕТ $(date) ==="
echo ""
echo "=== 1. Общая информация ==="
echo "Время: $(date)"
echo "Аптайм: $(uptime)"
hostnamectl
echo ""
echo "=== 2. Использование CPU ==="
echo "Load average: $(cat /proc/loadavg)"
mpstat -P ALL 1 1 | tail -n +4
echo ""
echo "=== 3. Использование памяти ==="
free -h
echo ""
echo "=== 4. Дисковое пространство ==="
df -h
echo ""
echo "=== 5. Сеть ==="
echo "Интерфейсы:"
ip -br addr show
echo ""
echo "Порты:"
ss -tulpn | head -20
echo ""
echo "=== 6. Топ-процессы по CPU ==="
ps aux --sort=-%cpu | head -10
echo ""
echo "=== 7. Топ-процессы по памяти ==="
ps aux --sort=-%mem | head -10
} > "$LOG_FILE" 2>&1
echo "Отчет сохранен в: $LOG_FILE"12. Полезные утилиты для мониторинга
htop - улучшенный top
glances - всесторонний мониторинг
nmon - мониторинг производительности
dstat - сбор статистики
netdata - веб-мониторинг в реальном времени
Prometheus + Grafana - промышленное решение
Ключевые метрики для анализа:
Load average > количества ядер - перегрузка CPU
%wa в iostat > 20% - проблемы с диском
Swap usage > 0 при наличии свободной RAM - нехватка памяти
%iowait > 5% - высокая нагрузка на диск
Network errors в ifconfig - сетевые проблемы
Для автоматизации сбора можно использовать:
cron - планировщик задач
tee - запись в файл и вывод на экран
awk/sed - обработка вывода
Python/Perl - сложный анализ данных
Выбор параметров зависит от конкретной задачи: диагностика проблем, планирование емкости, оптимизация производительности.
Только полноправные пользователи могут оставлять комментарии. Аутентифицируйтесь пожалуйста, используя сервисы.