Для оценки состояния системы используйте команду htop. Она предоставляет расширенные возможности по сравнению с top: удобный интерфейс, цветовую индикацию нагрузки и быстрые горячие клавиши. Установить утилиту можно с помощью:
sudo apt install htop
Просмотр активных задач возможен через ps. Например, команда
ps aux --sort=-%cpu
выведет список запущенных задач, отсортированных по утилизации процессора.
Для завершения зависших задач используйте kill или pkill. Например, принудительное завершение приложения по PID:
kill -9 1234
или по имени:
pkill -9 firefox
Настройка приоритетов выполнения осуществляется через nice и renice. Например, запуск процесса с низким приоритетом:
nice -n 10 ./script.sh
Изменение приоритета у уже работающего процесса (PID 5678):
renice -5 -p 5678
Ограничение потребления ресурсов возможно с cpulimit:
sudo apt install cpulimit
cpulimit -p 1234 -l 50
Здесь процесс 1234 ограничивается на 50% мощности CPU.
Также полезно настроить автоматическое завершение процессов, превысивших допустимый уровень нагрузки, через systemd:
[Service]
CPUQuota=40%
MemoryLimit=500M
Эти параметры можно добавить в файл /etc/systemd/system/имя_сервиса.service.
Сравнение ключевых инструментов для анализа и регулирования активности:
| Инструмент | Функционал | Установка |
|---|---|---|
| htop | Графическое представление работы системы | apt install htop |
| ps | Встроено | |
| kill/pkill | Завершение задач | Встроено |
| cpulimit | Ограничение CPU | apt install cpulimit |
| systemd | Автоматическое управление ресурсами | Встроено |
Содержание статьи
- 1 Просмотр загрузки процессора и оперативной памяти с помощью встроенных утилит
- 2 Анализ активности процессов и выявление ресурсоемких задач
- 3 Приостановка, завершение и изменение приоритета процессов
- 4 Автоматизация управления процессами с использованием системных инструментов
- 5 Видео по теме статьи [Мониторинг загрузки и управление процессами в Astra Linux]
Просмотр загрузки процессора и оперативной памяти с помощью встроенных утилит
Команда top – основной инструмент для получения данных о работе системы в реальном времени. Запуск:
top
Для удобства используйте:
top -o %CPU
или
top -o %MEM
для сортировки процессов по загрузке процессора или потреблению памяти.
Альтернативный вариант – htop. Установите:
sudo apt install htop
Запустите:
htop
Здесь доступна цветовая индикация, поиск и сортировка.
Более лаконичный вариант – vmstat. Пример:
vmstat 1
Отображает обновляемую каждую секунду статистику без лишних данных.
grep 'cpu' /proc/stat
или
grep 'Mem' /proc/meminfo
Сравнение инструментов:
| Утилита | Основное преимущество |
|---|---|
| top | Встроена, обновление в реальном времени |
| htop | Графический интерфейс, удобная навигация |
| vmstat | |
| /proc | Прямой доступ к системной информации |
Анализ активности процессов и выявление ресурсоемких задач
Для выявления самых прожорливых задач используйте утилиту top или её более удобный аналог htop. В первом столбце сортировки покажет PID, далее – загрузку CPU, потребление памяти, состояние и другие параметры. Для сортировки по конкретному ресурсу в top нажмите Shift + F и выберите критерий.
Анализ потребления памяти удобнее проводить через smem (не всегда предустановлен). Команда smem -t покажет общий расход памяти, а smem -rs pss отсортирует задачи по реальному потреблению (Proportional Set Size).
Для выявления скрытых фоновых задач используйте ps aux --sort=-%cpu или ps aux --sort=-%mem. Это отобразит процессы в порядке убывания потребления процессора или памяти соответственно.
Системные службы и демоны могут потреблять ресурсы даже в неактивном состоянии. Проверить статус можно командой systemctl list-units --type=service --state=running, а отключить ненужное – systemctl disable --now имя_сервиса.
Точное время выполнения команд анализируется через /usr/bin/time -v команда. Это покажет потребление CPU, памяти и другую статистику.
Для автоматического сбора данных и последующего анализа установите atop. Он ведёт лог загрузки системы, позволяя анализировать пиковые нагрузки задним числом. Просмотр отчёта за конкретный день: atop -r /var/log/atop/atop_YYYYMMDD.
Дополнительно используйте perf для детального профилирования. Команда perf top покажет горячие точки нагрузки ядра, а perf record -g -p PID создаст отчёт по конкретному процессу.
| Команда | Функция |
|---|---|
top / htop |
Отображение активных задач и их нагрузки |
smem |
Точный анализ потребления памяти |
iotop |
Мониторинг дисковых операций |
pidstat |
|
systemctl |
Управление сервисами |
atop |
Долговременный лог загрузки системы |
perf |
Глубокий анализ производительности |
Приостановка, завершение и изменение приоритета процессов
Чтобы временно остановить выполнение задачи, используйте команду:
kill -STOP PID
Где PID – идентификатор нужного задания. Для возобновления работы:
kill -CONT PID
Для принудительного завершения:
kill -9 PID
Однако лучше сначала попробовать мягкий сигнал:
kill PID
или
kill -TERM PID
Для изменения приоритета применяют nice и renice. При запуске нового задания:
nice -n 10 команда
Для уже работающего:
renice -n 5 -p PID
Таблица приоритетов:
| Значение nice | Приоритет выполнения |
|---|---|
| -20 | Максимальный |
| 0 | Стандартный |
| 19 | Минимальный |
Список активных задач:
ps aux
Фильтрация по пользователю:
ps -u имя_пользователя
Просмотр структуры родительских и дочерних элементов:
pstree -p
Применение htop или top даёт наглядное представление о загруженности. В htop удобно менять приоритет (F7/F8) и завершать задачи (F9).
Автоматизация управления процессами с использованием системных инструментов
Для автоматизации запуска и завершения программных задач в дистрибутивах Linux рекомендуется использовать планировщик cron. Создание задания осуществляется с помощью команды crontab -e. Например, для выполнения скрипта каждую минуту можно добавить строку:
* * * * * /path/to/script.sh
Для управления службами через systemd используйте команды systemctl start, stop, restart и enable. Пример запуска службы:
systemctl start apache2
Автоматизация повторяющихся задач возможна с помощью утилиты at, которая позволяет выполнять команды в указанное время. Чтобы запланировать задание на 10:00, используйте:
echo "/path/to/command" | at 10:00
Для управления приоритетами программных задач применяется утилита nice. Например, запуск программы с пониженным приоритетом:
nice -n 10 /path/to/program
Для автоматизации выполнения команд при входе в систему используются файлы ~/.bashrc и ~/.bash_profile. Добавление команд в эти файлы позволяет автоматически выполнять их при каждом входе в систему.
Для проверки статуса служб и их автоматического восстановления рекомендуется настроить файлы unit в /etc/systemd/system с параметрами Restart=always и RestartSec=5:
[Service]
ExecStart=/usr/bin/example-service
Restart=always
RestartSec=5
В следующей таблице приведены основные системные инструменты для автоматизации:
| Инструмент | Назначение | Пример использования |
|---|---|---|
| cron | Периодическое выполнение задач | crontab -e |
| systemd | Управление службами | systemctl restart sshd |
| at | Одноразовое выполнение задач | echo "backup.sh" | at now + 1 hour |
| nice | Изменение приоритетов | nice -n 15 ./heavy_task |

