Мониторинг системных ресурсов (htop, top) — различия между версиями

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

Текущая версия на 10:30, 15 октября 2025

Содержание

Мониторинг системных ресурсов (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:

  • Уменьшите частоту обновления: нажмите F2Setup** → 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):

Наши специалисты помогут с настройкой мониторинга и оптимизацией производительности вашего сервера!