Мониторинг системных ресурсов (htop, top) — различия между версиями
Admin (обсуждение | вклад) (Новая страница: «= Мониторинг системных ресурсов (htop, top) = == 1. Подготовка системы == * Войдите в систему под…») |
Admin (обсуждение | вклад) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 11: | Строка 11: | ||
1. Обновите список пакетов: | 1. Обновите список пакетов: | ||
− | < | + | <pre>sudo apt update</pre> |
− | sudo apt update | ||
− | </ | ||
2. Установите htop: | 2. Установите htop: | ||
− | < | + | <pre>sudo apt install htop</pre> |
− | sudo apt install htop | ||
− | </ | ||
=== Установка дополнительных инструментов === | === Установка дополнительных инструментов === | ||
1. Установите дополнительные утилиты мониторинга: | 1. Установите дополнительные утилиты мониторинга: | ||
− | < | + | <pre>sudo apt install iotop nethogs nload iftop</pre> |
− | sudo apt install iotop nethogs nload iftop | ||
− | </ | ||
2. Установите системные утилиты: | 2. Установите системные утилиты: | ||
− | < | + | <pre>sudo apt install sysstat dstat</pre> |
− | sudo apt install sysstat dstat | ||
− | </ | ||
== 3. Использование htop == | == 3. Использование htop == | ||
Строка 37: | Строка 29: | ||
1. Запустите htop: | 1. Запустите htop: | ||
− | < | + | <pre>htop</pre> |
− | htop | ||
− | </ | ||
2. Запустите htop с правами root для просмотра всех процессов: | 2. Запустите htop с правами root для просмотра всех процессов: | ||
− | < | + | <pre>sudo htop</pre> |
− | sudo htop | ||
− | </ | ||
=== Основные функции htop === | === Основные функции htop === | ||
Строка 79: | Строка 67: | ||
1. Запустите top: | 1. Запустите top: | ||
− | < | + | <pre>top</pre> |
− | top | ||
− | </ | ||
2. Запустите top с обновлением каждые 2 секунды: | 2. Запустите top с обновлением каждые 2 секунды: | ||
− | < | + | <pre>top -d 2</pre> |
− | top -d 2 | ||
− | </ | ||
3. Запустите top для конкретного пользователя: | 3. Запустите top для конкретного пользователя: | ||
− | < | + | <pre>top -u username</pre> |
− | top -u username | ||
− | </ | ||
=== Основные функции top === | === Основные функции top === | ||
Строка 112: | Строка 94: | ||
1. Создайте конфигурационный файл: | 1. Создайте конфигурационный файл: | ||
− | < | + | <pre>nano ~/.toprc</pre> |
− | nano ~/.toprc | ||
− | </ | ||
2. Настройте отображение: | 2. Настройте отображение: | ||
− | < | + | <pre>Id:a, Mode_altscr=0, Mode_irixps=1, Delay_time=3.0, Curwin=0</pre> |
− | + | <pre>Def fieldscur=AEHIOQTWKNMbcdfgjplrsuvyXZ</pre> | |
− | Id:a, Mode_altscr=0, Mode_irixps=1, Delay_time=3.0, Curwin=0 | + | <pre>winflags=32569, sortindx=10, maxtasks=0</pre> |
− | Def fieldscur=AEHIOQTWKNMbcdfgjplrsuvyXZ | + | <pre>graph_cpus=2, graph_mems=2</pre> |
− | + | <pre>summclr=1, msgsclr=1, headclr=3, taskclr=1</pre> | |
− | |||
− | |||
− | </ | ||
== 5. Мониторинг CPU == | == 5. Мониторинг CPU == | ||
Строка 131: | Строка 108: | ||
1. Просмотрите информацию о процессоре: | 1. Просмотрите информацию о процессоре: | ||
− | < | + | <pre>lscpu</pre> |
− | lscpu | ||
− | </ | ||
2. Просмотрите детальную информацию: | 2. Просмотрите детальную информацию: | ||
− | < | + | <pre>cat /proc/cpuinfo</pre> |
− | cat /proc/cpuinfo | ||
− | </ | ||
3. Просмотрите загрузку CPU: | 3. Просмотрите загрузку CPU: | ||
− | < | + | <pre>uptime</pre> |
− | uptime | ||
− | </ | ||
=== Мониторинг в реальном времени === | === Мониторинг в реальном времени === | ||
Строка 156: | Строка 127: | ||
1. Просмотрите статистику CPU: | 1. Просмотрите статистику CPU: | ||
− | < | + | <pre>vmstat 1 5</pre> |
− | vmstat 1 5 | ||
− | </ | ||
2. Просмотрите детальную статистику: | 2. Просмотрите детальную статистику: | ||
− | < | + | <pre>iostat -c 1 5</pre> |
− | iostat -c 1 5 | ||
− | </ | ||
3. Просмотрите информацию о процессах: | 3. Просмотрите информацию о процессах: | ||
− | < | + | <pre>ps aux --sort=-%cpu | head -10</pre> |
− | ps aux --sort=-%cpu | head -10 | ||
− | </ | ||
== 6. Мониторинг памяти == | == 6. Мониторинг памяти == | ||
Строка 175: | Строка 140: | ||
1. Просмотрите общую информацию о памяти: | 1. Просмотрите общую информацию о памяти: | ||
− | < | + | <pre>free -h</pre> |
− | free -h | ||
− | </ | ||
2. Просмотрите детальную информацию: | 2. Просмотрите детальную информацию: | ||
− | < | + | <pre>cat /proc/meminfo</pre> |
− | cat /proc/meminfo | ||
− | </ | ||
3. Просмотрите использование памяти процессами: | 3. Просмотрите использование памяти процессами: | ||
− | < | + | <pre>ps aux --sort=-%mem | head -10</pre> |
− | ps aux --sort=-%mem | head -10 | ||
− | </ | ||
=== Мониторинг в htop === | === Мониторинг в htop === | ||
Строка 200: | Строка 159: | ||
1. Просмотрите статистику памяти: | 1. Просмотрите статистику памяти: | ||
− | < | + | <pre>vmstat 1 5</pre> |
− | vmstat 1 5 | ||
− | </ | ||
2. Просмотрите детальную статистику: | 2. Просмотрите детальную статистику: | ||
− | < | + | <pre>iostat -m 1 5</pre> |
− | iostat -m 1 5 | ||
− | </ | ||
3. Просмотрите использование памяти по процессам: | 3. Просмотрите использование памяти по процессам: | ||
− | < | + | <pre>pmap -d $(pgrep process_name)</pre> |
− | pmap -d $(pgrep process_name) | ||
− | </ | ||
== 7. Мониторинг дисков == | == 7. Мониторинг дисков == | ||
Строка 219: | Строка 172: | ||
1. Просмотрите информацию о дисках: | 1. Просмотрите информацию о дисках: | ||
− | < | + | <pre>lsblk</pre> |
− | lsblk | ||
− | </ | ||
2. Просмотрите использование дисков: | 2. Просмотрите использование дисков: | ||
− | < | + | <pre>df -h</pre> |
− | df -h | ||
− | </ | ||
3. Просмотрите использование inode: | 3. Просмотрите использование inode: | ||
− | < | + | <pre>df -i</pre> |
− | df -i | ||
− | </ | ||
=== Мониторинг I/O операций === | === Мониторинг I/O операций === | ||
1. Запустите iotop для мониторинга I/O: | 1. Запустите iotop для мониторинга I/O: | ||
− | < | + | <pre>sudo iotop</pre> |
− | sudo iotop | ||
− | </ | ||
2. Просмотрите статистику I/O: | 2. Просмотрите статистику I/O: | ||
− | < | + | <pre>iostat -x 1 5</pre> |
− | iostat -x 1 5 | ||
− | </ | ||
3. Просмотрите использование дисков: | 3. Просмотрите использование дисков: | ||
− | < | + | <pre>sudo iotop -o</pre> |
− | sudo iotop -o | ||
− | </ | ||
=== Анализ производительности дисков === | === Анализ производительности дисков === | ||
1. Просмотрите статистику дисков: | 1. Просмотрите статистику дисков: | ||
− | < | + | <pre>iostat -d 1 5</pre> |
− | iostat -d 1 5 | ||
− | </ | ||
2. Просмотрите детальную информацию: | 2. Просмотрите детальную информацию: | ||
− | < | + | <pre>sudo iotop -a</pre> |
− | sudo iotop -a | ||
− | </ | ||
3. Просмотрите использование дисков по процессам: | 3. Просмотрите использование дисков по процессам: | ||
− | < | + | <pre>sudo iotop -p $(pgrep process_name)</pre> |
− | sudo iotop -p $(pgrep process_name) | ||
− | </ | ||
== 8. Мониторинг сети == | == 8. Мониторинг сети == | ||
Строка 272: | Строка 207: | ||
1. Просмотрите сетевые интерфейсы: | 1. Просмотрите сетевые интерфейсы: | ||
− | < | + | <pre>ip addr show</pre> |
− | ip addr show | ||
− | </ | ||
2. Просмотрите статистику сети: | 2. Просмотрите статистику сети: | ||
− | < | + | <pre>ip -s link show</pre> |
− | ip -s link show | ||
− | </ | ||
3. Просмотрите активные соединения: | 3. Просмотрите активные соединения: | ||
− | < | + | <pre>ss -tulpn</pre> |
− | ss -tulpn | ||
− | </ | ||
=== Мониторинг сетевого трафика === | === Мониторинг сетевого трафика === | ||
1. Запустите nethogs для мониторинга трафика по процессам: | 1. Запустите nethogs для мониторинга трафика по процессам: | ||
− | < | + | <pre>sudo nethogs</pre> |
− | sudo nethogs | ||
− | </ | ||
2. Запустите iftop для мониторинга трафика: | 2. Запустите iftop для мониторинга трафика: | ||
− | < | + | <pre>sudo iftop</pre> |
− | sudo iftop | ||
− | </ | ||
3. Запустите nload для мониторинга скорости: | 3. Запустите nload для мониторинга скорости: | ||
− | < | + | <pre>nload</pre> |
− | nload | ||
− | </ | ||
=== Анализ сетевой активности === | === Анализ сетевой активности === | ||
1. Просмотрите статистику сети: | 1. Просмотрите статистику сети: | ||
− | < | + | <pre>cat /proc/net/dev</pre> |
− | cat /proc/net/dev | ||
− | </ | ||
2. Просмотрите активные соединения: | 2. Просмотрите активные соединения: | ||
− | < | + | <pre>netstat -tulpn</pre> |
− | netstat -tulpn | ||
− | </ | ||
3. Просмотрите трафик по интерфейсам: | 3. Просмотрите трафик по интерфейсам: | ||
− | < | + | <pre>iftop -i eth0</pre> |
− | iftop -i eth0 | ||
− | </ | ||
== 9. Дополнительные инструменты мониторинга == | == 9. Дополнительные инструменты мониторинга == | ||
Строка 325: | Строка 242: | ||
1. Запустите dstat для комплексного мониторинга: | 1. Запустите dstat для комплексного мониторинга: | ||
− | < | + | <pre>dstat</pre> |
− | dstat | ||
− | </ | ||
2. Настройте отображение: | 2. Настройте отображение: | ||
− | < | + | <pre>dstat -cdngy</pre> |
− | dstat -cdngy | ||
− | </ | ||
3. Сохраните статистику в файл: | 3. Сохраните статистику в файл: | ||
− | < | + | <pre>dstat -cdngy --output /tmp/dstat.csv</pre> |
− | dstat -cdngy --output /tmp/dstat.csv | ||
− | </ | ||
=== Использование sar === | === Использование sar === | ||
1. Просмотрите историческую статистику: | 1. Просмотрите историческую статистику: | ||
− | < | + | <pre>sar -u 1 5</pre> |
− | sar -u 1 5 | ||
− | </ | ||
2. Просмотрите статистику памяти: | 2. Просмотрите статистику памяти: | ||
− | < | + | <pre>sar -r 1 5</pre> |
− | sar -r 1 5 | ||
− | </ | ||
3. Просмотрите статистику дисков: | 3. Просмотрите статистику дисков: | ||
− | < | + | <pre>sar -d 1 5</pre> |
− | sar -d 1 5 | ||
− | </ | ||
=== Создание скриптов мониторинга === | === Создание скриптов мониторинга === | ||
1. Создайте скрипт мониторинга: | 1. Создайте скрипт мониторинга: | ||
− | < | + | <pre>nano /usr/local/bin/system-monitor.sh</pre> |
− | nano /usr/local/bin/system-monitor.sh | ||
− | </ | ||
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
− | < | + | <pre>echo "=== System Information ==="</pre> |
− | + | <pre>echo "Hostname: $(hostname)"</pre> | |
− | + | <pre>echo "Uptime: $(uptime)"</pre> | |
− | echo "=== System Information ===" | + | <pre>echo "Date: $(date)"</pre> |
− | echo "Hostname: $(hostname)" | + | <pre>echo "=== CPU Usage ==="</pre> |
− | echo "Uptime: $(uptime)" | + | <pre>top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1</pre> |
− | echo "Date: $(date)" | + | <pre>echo "=== Memory Usage ==="</pre> |
− | + | <pre>free -h | grep "Mem:" | awk '{print $3 "/" $2}'</pre> | |
− | echo "=== CPU Usage ===" | + | <pre>echo "=== Disk Usage ==="</pre> |
− | top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1 | + | <pre>df -h | grep -E '^/dev/'</pre> |
− | + | <pre>echo "=== Network Connections ==="</pre> | |
− | echo "=== Memory Usage ===" | + | <pre>ss -tulpn | wc -l</pre> |
− | free -h | grep "Mem:" | awk '{print $3 "/" $2}' | + | <pre>echo "=== Top Processes by CPU ==="</pre> |
− | + | <pre>ps aux --sort=-%cpu | head -5</pre> | |
− | echo "=== Disk Usage ===" | + | <pre>echo "=== Top Processes by Memory ==="</pre> |
− | df -h | grep -E '^/dev/' | + | <pre>ps aux --sort=-%mem | head -5</pre> |
− | |||
− | 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. Сделайте скрипт исполняемым: | 3. Сделайте скрипт исполняемым: | ||
− | < | + | <pre>sudo chmod +x /usr/local/bin/system-monitor.sh</pre> |
− | sudo chmod +x /usr/local/bin/system-monitor.sh | ||
− | </ | ||
== 10. Настройка автоматического мониторинга == | == 10. Настройка автоматического мониторинга == | ||
Строка 401: | Строка 292: | ||
1. Откройте crontab: | 1. Откройте crontab: | ||
− | < | + | <pre>sudo crontab -e</pre> |
− | sudo crontab -e | ||
− | </ | ||
2. Добавьте задачи мониторинга: | 2. Добавьте задачи мониторинга: | ||
− | < | + | <pre>*/5 * * * * /usr/local/bin/system-monitor.sh >> /var/log/system-monitor.log</pre> |
− | + | <pre>0 0 * * * find /var/log -name "*.log" -mtime +7 -delete</pre> | |
− | */5 * * * * /usr/local/bin/system-monitor.sh >> /var/log/system-monitor.log | ||
− | |||
− | |||
− | 0 0 * * * find /var/log -name "*.log" -mtime +7 -delete | ||
− | </ | ||
=== Настройка алертов === | === Настройка алертов === | ||
1. Создайте скрипт алертов: | 1. Создайте скрипт алертов: | ||
− | < | + | <pre>nano /usr/local/bin/alert-monitor.sh</pre> |
− | nano /usr/local/bin/alert-monitor.sh | ||
− | </ | ||
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
− | < | + | <pre>CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1)</pre> |
− | + | <pre>if (( $(echo "$CPU_USAGE > 80" | bc -l) )); then</pre> | |
− | + | <pre>echo "ALERT: High CPU usage: $CPU_USAGE%" | mail -s "CPU Alert" admin@example.com</pre> | |
− | + | <pre>fi</pre> | |
− | CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1) | + | <pre>MEM_USAGE=$(free | grep Mem | awk '{printf "%.2f", $3/$2 * 100.0}')</pre> |
− | if (( $(echo "$CPU_USAGE > 80" | bc -l) )); then | + | <pre>if (( $(echo "$MEM_USAGE > 80" | bc -l) )); then</pre> |
− | + | <pre>echo "ALERT: High memory usage: $MEM_USAGE%" | mail -s "Memory Alert" admin@example.com</pre> | |
− | fi | + | <pre>fi</pre> |
− | + | <pre>DISK_USAGE=$(df / | grep / | awk '{print $5}' | cut -d'%' -f1)</pre> | |
− | + | <pre>if [ $DISK_USAGE -gt 80 ]; then</pre> | |
− | MEM_USAGE=$(free | grep Mem | awk '{printf "%.2f", $3/$2 * 100.0}') | + | <pre>echo "ALERT: High disk usage: $DISK_USAGE%" | mail -s "Disk Alert" admin@example.com</pre> |
− | if (( $(echo "$MEM_USAGE > 80" | bc -l) )); then | + | <pre>fi</pre> |
− | |||
− | fi | ||
− | |||
− | |||
− | DISK_USAGE=$(df / | grep / | awk '{print $5}' | cut -d'%' -f1) | ||
− | if [ $DISK_USAGE -gt 80 ]; then | ||
− | |||
− | fi | ||
− | </ | ||
3. Сделайте скрипт исполняемым: | 3. Сделайте скрипт исполняемым: | ||
− | < | + | <pre>sudo chmod +x /usr/local/bin/alert-monitor.sh</pre> |
− | sudo chmod +x /usr/local/bin/alert-monitor.sh | ||
− | </ | ||
4. Добавьте в crontab: | 4. Добавьте в crontab: | ||
− | < | + | <pre>*/10 * * * * /usr/local/bin/alert-monitor.sh</pre> |
− | |||
− | */10 * * * * /usr/local/bin/alert-monitor.sh | ||
− | </ | ||
== 11. Устранение неполадок == | == 11. Устранение неполадок == | ||
Строка 460: | Строка 328: | ||
1. '''htop не запускается''': | 1. '''htop не запускается''': | ||
− | * Проверьте установку: < | + | * Проверьте установку: <pre>which htop</pre> |
− | * Переустановите: < | + | * Переустановите: <pre>sudo apt install --reinstall htop</pre> |
2. '''Нет прав на просмотр процессов''': | 2. '''Нет прав на просмотр процессов''': | ||
− | * Запустите с sudo: < | + | * Запустите с sudo: <pre>sudo htop</pre> |
− | * Добавьте пользователя в группу: < | + | * Добавьте пользователя в группу: <pre>sudo usermod -aG adm username</pre> |
3. '''Медленная работа htop''': | 3. '''Медленная работа htop''': | ||
Строка 478: | Строка 346: | ||
2. Используйте top для быстрого мониторинга: | 2. Используйте top для быстрого мониторинга: | ||
− | < | + | <pre>top -bn1 | head -20</pre> |
− | top -bn1 | head -20 | ||
− | </ | ||
== 12. Дополнительные возможности == | == 12. Дополнительные возможности == | ||
Строка 487: | Строка 353: | ||
1. Создайте пользовательскую цветовую схему: | 1. Создайте пользовательскую цветовую схему: | ||
− | < | + | <pre>nano ~/.htoprc</pre> |
− | nano ~/.htoprc | ||
− | </ | ||
2. Настройте цвета: | 2. Настройте цвета: | ||
− | < | + | <pre>fields=0 48 17 18 38 39 40 2 46 47 49 1</pre> |
− | + | <pre>sort_key=46</pre> | |
− | fields=0 48 17 18 38 39 40 2 46 47 49 1 | + | <pre>sort_direction=1</pre> |
− | sort_key=46 | + | <pre>hide_threads=0</pre> |
− | sort_direction=1 | + | <pre>hide_kernel_threads=1</pre> |
− | hide_threads=0 | + | <pre>hide_userland_threads=0</pre> |
− | hide_kernel_threads=1 | + | <pre>shadow_other_users=0</pre> |
− | hide_userland_threads=0 | + | <pre>show_thread_names=0</pre> |
− | shadow_other_users=0 | + | <pre>show_program_path=1</pre> |
− | show_thread_names=0 | + | <pre>highlight_base_name=0</pre> |
− | show_program_path=1 | + | <pre>highlight_megabytes=1</pre> |
− | highlight_base_name=0 | + | <pre>highlight_threads=1</pre> |
− | highlight_megabytes=1 | + | <pre>tree_view=0</pre> |
− | highlight_threads=1 | + | <pre>header_margin=1</pre> |
− | tree_view=0 | + | <pre>detailed_cpu_time=0</pre> |
− | header_margin=1 | + | <pre>cpu_count_from_one=0</pre> |
− | detailed_cpu_time=0 | + | <pre>show_cpu_usage=1</pre> |
− | cpu_count_from_one=0 | + | <pre>show_cpu_frequency=0</pre> |
− | show_cpu_usage=1 | + | <pre>show_cpu_temperature=0</pre> |
− | show_cpu_frequency=0 | + | <pre>degree_fahrenheit=0</pre> |
− | show_cpu_temperature=0 | + | <pre>update_process_names=0</pre> |
− | degree_fahrenheit=0 | + | <pre>account_guest_in_cpu_meter=0</pre> |
− | update_process_names=0 | + | <pre>color_scheme=0</pre> |
− | account_guest_in_cpu_meter=0 | + | <pre>enable_mouse=1</pre> |
− | color_scheme=0 | ||
− | enable_mouse=1 | ||
− | </ | ||
=== Создание дашборда мониторинга === | === Создание дашборда мониторинга === | ||
1. Создайте HTML дашборд: | 1. Создайте HTML дашборд: | ||
− | < | + | <pre>nano /usr/local/bin/create-dashboard.sh</pre> |
− | nano /usr/local/bin/create-dashboard.sh | ||
− | </ | ||
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
− | < | + | <pre>\#!/bin/bash |
− | #!/bin/bash | ||
HTML_FILE="/var/www/html/dashboard.html" | HTML_FILE="/var/www/html/dashboard.html" | ||
Строка 569: | Строка 427: | ||
EOF | EOF | ||
− | echo "Dashboard created at $HTML_FILE" | + | echo "Dashboard created at $HTML_FILE"</pre> |
− | </ | ||
3. Сделайте скрипт исполняемым: | 3. Сделайте скрипт исполняемым: | ||
− | < | + | <pre>sudo chmod +x /usr/local/bin/create-dashboard.sh</pre> |
− | sudo chmod +x /usr/local/bin/create-dashboard.sh | ||
− | </ | ||
== Заключение == | == Заключение == |
Текущая версия на 10:30, 15 октября 2025
Содержание
- 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. Дополнительные возможности
- 1.13 Заключение
Мониторинг системных ресурсов (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> <h1>System Monitor Dashboard</h1> <div class="metric"> <h3>CPU Usage</h3> <p>$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1)%</p> </div> <div class="metric"> <h3>Memory Usage</h3> <p>$(free -h | grep "Mem:" | awk '{print $3 "/" $2}')</p> </div> <div class="metric"> <h3>Disk Usage</h3> <p>$(df -h / | grep / | awk '{print $5}')</p> </div> <div class="metric"> <h3>Uptime</h3> <p>$(uptime)</p> </div> </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/) - для небольших и средних проектов
Наши специалисты помогут с настройкой мониторинга и оптимизацией производительности вашего сервера!