Введение
Мониторинг оборудования — важная задача для любого администратора Linux-системы. Он позволяет контролировать температуру процессора и других компонентов, нагрузку на ЦП, оперативную память, дисковое пространство и сетевые интерфейсы. Своевременное выявление аномалий помогает предотвратить перегрев, сбои и обеспечивает стабильную работу сервера или рабочей станции. В этом руководстве вы узнаете, как настроить мониторинг оборудования в Linux с помощью трёх популярных утилит: lm-sensors, htop и nmon. После выполнения шагов вы сможете отслеживать ключевые параметры системы в реальном времени.
Требования / Подготовка
Перед началом убедитесь, что у вас есть:
- Дистрибутив Linux, поддерживающий пакеты lm-sensors, htop и nmon (например, Ubuntu 20.04+, Debian 10+, CentOS 7+, Fedora 30+).
- Доступ к терминалу с правами суперпользователя (sudo) для установки пакетов и настройки датчиков.
- Стабильное интернет-соединение для загрузки пакетов.
Шаг 1: Установка пакета lm-sensors
lm-sensors — это набор утилит для работы с аппаратными датчиками температуры, напряжения и скорости вращения вентиляторов.
Для Ubuntu и Debian:
sudo apt update
sudo apt install lm-sensors
Для CentOS, RHEL и Fedora:
# CentOS 7 / RHEL 7
sudo yum install lm_sensors
# CentOS 8 / RHEL 8 / Fedora
sudo dnf install lm_sensors
Опционально: Для графического интерфейса можно установить psensor:
# Ubuntu/Debian
sudo apt install psensor
# CentOS/Fedora
sudo dnf install psensor
Шаг 2: Обнаружение и настройка датчиков
После установки lm-sensors необходимо обнаружить доступные датчики в системе.
Выполните команду:
sudo sensors-detect
Программа задаст серию вопросов. Рекомендуется отвечать YES (или просто нажимать Enter) на все предложения, чтобы обеспечить максимальное обнаружение. В конце sensors-detect предложит загрузить модули ядра. Обычно это делается автоматически, но если модули не загрузились, выполните:
sudo service kmod start # Для Debian/Ubuntu
# или
sudo systemctl restart kmod # Для systemd-систем
В некоторых случаях может потребоваться перезагрузка системы.
Шаг 3: Просмотр показаний датчиков
После настройки проверьте работу датчиков:
sensors
Пример вывода:
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +45.0°C (high = +100.0°C, crit = +100.0°C)
Core 0: +43.0°C (high = +100.0°C, crit = +100.0°C)
Core 1: +44.0°C (high = +100.0°C, crit = +100.0°C)
acpitz-virtual-0
Adapter: Virtual device
temp1: +45.0°C (crit = +119.0°C)
Здесь вы видите температуру процессора (coretemp) и другие датчики (например, acpitz). Положительное значение означает нагрев, а критическая температура (crit) — порог, при котором система может аварийно выключиться.
Шаг 4: Установка и использование htop
htop — это интерактивный просмотрщик процессов, который показывает загрузку CPU, использование памяти и swap, а также список запущенных процессов.
Установка:
# Ubuntu/Debian
sudo apt install htop
# CentOS/Fedora
sudo dnf install htop
Запуск:
htop
В интерфейсе htop:
- Вверху отображаются графики загрузки CPU (каждый core отдельно), память и swap.
- В центре — таблица процессов с полями: PID, USER, PRIO, NICE, RES, %CPU, %MEM, TIME+, COMMAND.
- Внизу — строка подсказок по управлению.
Основные действия:
- Сортировка по столбцу: нажать F6 и выбрать поле.
- Завершение процесса: выделить и нажать F9, затем выбрать сигнал (обычно SIGTERM).
- Поиск процесса: нажать F3 и ввести имя.
- Выход: F10 или q.
htop отлично подходит для быстрого анализа, какой процесс потребляет много ресурсов.
Шаг 5: Установка и использование nmon
nmon (Nigel's Monitor) — мощная утилита, которая отображает множество метрик в одном экране: CPU, память, сети, диски, файловые системы, ядерные процессы и т.д.
Установка:
# Ubuntu/Debian
sudo apt install nmon
# CentOS/Fedora
sudo dnf install nmon
Запуск:
nmon
После запуска вы увидите экран с подсказками. Нажимайте клавиши для переключения между режимами:
c— загрузка CPU (по ядрам)m— память и swapd— дисковые операции (I/O)n— сетевые интерфейсыt— файловые системыk— ядерные процессыj— журнал файловых системr— радиаторы (температура, если доступно)h— справка по всем клавишам
Чтобы выйти, нажмите q.
nmon также позволяет сохранять данные в файл для последующего анализа:
nmon -f -s 2 -c 30 # Запись каждые 2 секунды, 30 раз
Это создаст файл с расширением .nmon, который можно открыть в инструменте nmon2rrd или nmonchart.
Проверка результата
- Для lm-sensors: команда
sensorsдолжна выводить актуальные значения температуры, напряжения и скорости вентиляторов. - Для htop: при запуске
htopвы должны увидеть интерактивный интерфейс с обновляемыми в реальном времени данными. - Для nmon: при запуске
nmonвы можете переключаться между экранами с помощью клавиш и видеть динамику показателей.
Если какой-то из инструментов не работает, перечитайте раздел "Возможные проблемы".
Возможные проблемы
⚠️ sensors-detect не обнаруживает датчики. Убедитесь, что ваш компьютер поддерживает аппаратные датчики (современные ПК и серверы обычно поддерживают). Обновите BIOS/UEFI до последней версии. Проверьте, загружены ли модули ядра:
lsmod | grep sensor. Если нет, попробуйте загрузить вручную:sudo modprobe coretemp(для Intel) илиsudo modprobe k10temp(для AMD). Запуститеsudo sensors-detect --autoдля автоматического ответа на все вопросы.
⚠️ Команда sensors не выводит данные или показывает "No sensors found". Добавьте текущего пользователя в группу
video(обычно датчики доступны этой группе):sudo usermod -aG video $USERи перезайдите в систему. Или используйтеsudo sensorsдля проверки с правами root.
⚠️ htop или nmon не устанавливаются. Проверьте, добавлены ли репозитории в систему (например, для CentOS может потребоваться включить репозиторий EPEL:
sudo yum install epel-release). Альтернативно, используйтеtop(встроен) илиglances(если есть в репозиториях).
⚠️ nmon не показывает данные по дискам или сети. Убедитесь, что у вас установлены соответствующие модули ядра (обычно они есть по умолчанию). Запустите nmon с ключом
-fдля вывода в файл и проверьте, записываются ли данные.
⚠️ Высокая температура процессора. Проверьте работу системы охлаждения: скорость вентиляторов (в sensors), запыленность радиаторов. Убедитесь, что процессор не перегружен: используйте htop, чтобы найти процессы с высокой загрузкой CPU.