Мониторинг системных ресурсов (htop, top)
Содержание
- 1 Мониторинг системных ресурсов (htop, top)
- 1.1 1. Подготовка системы
- 1.2 2. Установка инструментов мониторинга
- 1.3 3. Использование htop
- 1.4 4. Использование top
- 1.5 5. Мониторинг CPU
- 1.6 6. Мониторинг памяти
- 1.7 7. Мониторинг дисков
- 1.8 8. Мониторинг сети
- 1.9 9. Дополнительные инструменты мониторинга
- 1.10 10. Настройка автоматического мониторинга
- 1.11 11. Устранение неполадок
- 1.12 12. Дополнительные возможности
- 2 System Monitor Dashboard
Мониторинг системных ресурсов (htop, top)
1. Подготовка системы
- Войдите в систему под учетной записью с правами root или пользователя с правами sudo.
- Убедитесь, что у вас есть доступ к терминалу для мониторинга.
2. Установка инструментов мониторинга
Установка htop
1. Обновите список пакетов:
sudo apt update
2. Установите htop:
sudo apt install htop
Установка дополнительных инструментов
1. Установите дополнительные утилиты мониторинга:
sudo apt install iotop nethogs nload iftop
2. Установите системные утилиты:
sudo apt install sysstat dstat
3. Использование htop
Запуск htop
1. Запустите htop:
htop
2. Запустите htop с правами root для просмотра всех процессов:
sudo htop
Основные функции htop
1. Навигация:
- Стрелки - перемещение по списку процессов
- Page Up/Page Down - прокрутка страниц
- Home/End - переход к началу/концу списка
2. Сортировка процессов:
- F6 - выбор критерия сортировки
- F5 - переключение древовидного вида
- F4 - фильтр процессов
3. Управление процессами:
- F9 - завершение процесса
- F7/F8 - изменение приоритета процесса
- F2 - настройка отображения
Настройка htop
1. Нажмите F2 для входа в настройки 2. Настройте отображение:
- Columns - выбор колонок
- Colors - цветовая схема
- Meters - настройка индикаторов
3. Сохраните настройки:
- F10 - выход с сохранением
4. Использование top
Запуск top
1. Запустите top:
top
2. Запустите top с обновлением каждые 2 секунды:
top -d 2
3. Запустите top для конкретного пользователя:
top -u username
Основные функции top
1. Интерактивные команды:
- k - завершить процесс
- r - изменить приоритет
- z - переключить цвета
- c - показать полную команду
- M - сортировка по памяти
- P - сортировка по CPU
- T - сортировка по времени
2. Навигация:
- Space - обновить немедленно
- q - выход
- h - помощь
Настройка top
1. Создайте конфигурационный файл:
nano ~/.toprc
2. Настройте отображение:
Id:a, Mode_altscr=0, Mode_irixps=1, Delay_time=3.0, Curwin=0
Def fieldscur=AEHIOQTWKNMbcdfgjplrsuvyXZ
winflags=32569, sortindx=10, maxtasks=0
graph_cpus=2, graph_mems=2
summclr=1, msgsclr=1, headclr=3, taskclr=1
5. Мониторинг CPU
Просмотр информации о CPU
1. Просмотрите информацию о процессоре:
lscpu
2. Просмотрите детальную информацию:
cat /proc/cpuinfo
3. Просмотрите загрузку CPU:
uptime
Мониторинг в реальном времени
1. Запустите htop и нажмите F2 2. Настройте индикаторы CPU:
- Добавьте CPU индикаторы
- Настройте цветовую схему
- Сохраните настройки
Анализ производительности CPU
1. Просмотрите статистику CPU:
vmstat 1 5
2. Просмотрите детальную статистику:
iostat -c 1 5
3. Просмотрите информацию о процессах:
ps aux --sort=-%cpu | head -10
6. Мониторинг памяти
Просмотр информации о памяти
1. Просмотрите общую информацию о памяти:
free -h
2. Просмотрите детальную информацию:
cat /proc/meminfo
3. Просмотрите использование памяти процессами:
ps aux --sort=-%mem | head -10
Мониторинг в htop
1. В htop нажмите F2 2. Настройте индикаторы памяти:
- Добавьте Mem индикатор
- Добавьте Swap индикатор
- Настройте отображение
Анализ использования памяти
1. Просмотрите статистику памяти:
vmstat 1 5
2. Просмотрите детальную статистику:
iostat -m 1 5
3. Просмотрите использование памяти по процессам:
pmap -d $(pgrep process_name)
7. Мониторинг дисков
Просмотр информации о дисках
1. Просмотрите информацию о дисках:
lsblk
2. Просмотрите использование дисков:
df -h
3. Просмотрите использование inode:
df -i
Мониторинг I/O операций
1. Запустите iotop для мониторинга I/O:
sudo iotop
2. Просмотрите статистику I/O:
iostat -x 1 5
3. Просмотрите использование дисков:
sudo iotop -o
Анализ производительности дисков
1. Просмотрите статистику дисков:
iostat -d 1 5
2. Просмотрите детальную информацию:
sudo iotop -a
3. Просмотрите использование дисков по процессам:
sudo iotop -p $(pgrep process_name)
8. Мониторинг сети
Просмотр сетевых интерфейсов
1. Просмотрите сетевые интерфейсы:
ip addr show
2. Просмотрите статистику сети:
ip -s link show
3. Просмотрите активные соединения:
ss -tulpn
Мониторинг сетевого трафика
1. Запустите nethogs для мониторинга трафика по процессам:
sudo nethogs
2. Запустите iftop для мониторинга трафика:
sudo iftop
3. Запустите nload для мониторинга скорости:
nload
Анализ сетевой активности
1. Просмотрите статистику сети:
cat /proc/net/dev
2. Просмотрите активные соединения:
netstat -tulpn
3. Просмотрите трафик по интерфейсам:
iftop -i eth0
9. Дополнительные инструменты мониторинга
Использование dstat
1. Запустите dstat для комплексного мониторинга:
dstat
2. Настройте отображение:
dstat -cdngy
3. Сохраните статистику в файл:
dstat -cdngy --output /tmp/dstat.csv
Использование sar
1. Просмотрите историческую статистику:
sar -u 1 5
2. Просмотрите статистику памяти:
sar -r 1 5
3. Просмотрите статистику дисков:
sar -d 1 5
Создание скриптов мониторинга
1. Создайте скрипт мониторинга:
nano /usr/local/bin/system-monitor.sh
2. Добавьте содержимое:
echo "=== System Information ==="
echo "Hostname: $(hostname)"
echo "Uptime: $(uptime)"
echo "Date: $(date)"
echo "=== CPU Usage ==="
top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1
echo "=== Memory Usage ==="
free -h | grep "Mem:" | awk '{print $3 "/" $2}'
echo "=== Disk Usage ==="
df -h | grep -E '^/dev/'
echo "=== Network Connections ==="
ss -tulpn | wc -l
echo "=== Top Processes by CPU ==="
ps aux --sort=-%cpu | head -5
echo "=== Top Processes by Memory ==="
ps aux --sort=-%mem | head -5
3. Сделайте скрипт исполняемым:
sudo chmod +x /usr/local/bin/system-monitor.sh
10. Настройка автоматического мониторинга
Настройка cron задач
1. Откройте crontab:
sudo crontab -e
2. Добавьте задачи мониторинга:
*/5 * * * * /usr/local/bin/system-monitor.sh >> /var/log/system-monitor.log
0 0 * * * find /var/log -name "*.log" -mtime +7 -delete
Настройка алертов
1. Создайте скрипт алертов:
nano /usr/local/bin/alert-monitor.sh
2. Добавьте содержимое:
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1)
if (( $(echo "$CPU_USAGE > 80" | bc -l) )); then
echo "ALERT: High CPU usage: $CPU_USAGE%" | mail -s "CPU Alert" admin@example.com
fi
MEM_USAGE=$(free | grep Mem | awk '{printf "%.2f", $3/$2 * 100.0}')
if (( $(echo "$MEM_USAGE > 80" | bc -l) )); then
echo "ALERT: High memory usage: $MEM_USAGE%" | mail -s "Memory Alert" admin@example.com
fi
DISK_USAGE=$(df / | grep / | awk '{print $5}' | cut -d'%' -f1)
if [ $DISK_USAGE -gt 80 ]; then
echo "ALERT: High disk usage: $DISK_USAGE%" | mail -s "Disk Alert" admin@example.com
fi
3. Сделайте скрипт исполняемым:
sudo chmod +x /usr/local/bin/alert-monitor.sh
4. Добавьте в crontab:
*/10 * * * * /usr/local/bin/alert-monitor.sh
11. Устранение неполадок
Частые проблемы
1. htop не запускается:
- Проверьте установку:
which htop
- Переустановите:
sudo apt install --reinstall htop
2. Нет прав на просмотр процессов:
- Запустите с sudo:
sudo htop
- Добавьте пользователя в группу:
sudo usermod -aG adm username
3. Медленная работа htop:
- Уменьшите частоту обновления: нажмите F2 → Setup** → Display options** → уменьшите Update delay**
Оптимизация производительности
1. Настройте htop для лучшей производительности:
- Уменьшите количество отображаемых процессов
- Отключите ненужные индикаторы
- Увеличьте интервал обновления
2. Используйте top для быстрого мониторинга:
top -bn1 | head -20
12. Дополнительные возможности
Настройка цветовых схем
1. Создайте пользовательскую цветовую схему:
nano ~/.htoprc
2. Настройте цвета:
fields=0 48 17 18 38 39 40 2 46 47 49 1
sort_key=46
sort_direction=1
hide_threads=0
hide_kernel_threads=1
hide_userland_threads=0
shadow_other_users=0
show_thread_names=0
show_program_path=1
highlight_base_name=0
highlight_megabytes=1
highlight_threads=1
tree_view=0
header_margin=1
detailed_cpu_time=0
cpu_count_from_one=0
show_cpu_usage=1
show_cpu_frequency=0
show_cpu_temperature=0
degree_fahrenheit=0
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=0
enable_mouse=1
Создание дашборда мониторинга
1. Создайте HTML дашборд:
nano /usr/local/bin/create-dashboard.sh
2. Добавьте содержимое:
#!/bin/bash
HTML_FILE="/var/www/html/dashboard.html"
cat > $HTML_FILE << 'EOF'
<!DOCTYPE html>
<html>
<head>
<title>System Monitor Dashboard</title>
<meta http-equiv="refresh" content="5">
<style>
body { font-family: Arial, sans-serif; margin: 20px; }
.metric { background: #f0f0f0; padding: 10px; margin: 10px 0; border-radius: 5px; }
.high { background: #ffcccc; }
.medium { background: #ffffcc; }
.low { background: #ccffcc; }
</style>
</head>
<body>
System Monitor Dashboard
CPU Usage
$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1)%
Memory Usage
$(free -h | grep "Mem:" | awk '{print $3 "/" $2}')
Disk Usage
$(df -h / | grep / | awk '{print $5}')
Uptime
$(uptime)
</body>
</html>
EOF
echo "Dashboard created at $HTML_FILE"
3. Сделайте скрипт исполняемым:
sudo chmod +x /usr/local/bin/create-dashboard.sh
Заключение
Система мониторинга настроена! Теперь вы можете эффективно отслеживать производительность сервера.
Для размещения ваших проектов с настроенным мониторингом на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):
- [Выделенные серверы](https://ark-hoster.ru/dedicated/) - для высоконагруженных проектов с продвинутым мониторингом
- [VPS/VDS серверы](https://ark-hoster.ru/vpsgame/) - для небольших и средних проектов
Наши специалисты помогут с настройкой мониторинга и оптимизацией производительности вашего сервера!