Что такое nice?
В Linux приоритет процесса выражается как 'Niceness' (значение доброжелательности). Команда `nice` запускает программу, устанавливая это значение.
Понимание Niceness (значения доброжелательности)
Чем **больше значение, тем 'доброжелательнее' (Nice)** процесс. Это означает, что он уступает ресурсы другим процессам.
- Диапазон: -20 (наивысший приоритет/эгоистичный) ~ 19 (наименьший приоритет/уступчивый)
- Значение по умолчанию: 0 (стандартный приоритет)
- Использование отрицательных значений: Повышение приоритета (отрицательные значения) требует прав root.
Основные опции (Shell)
Используется в сочетании со значением приоритета (`-n`) и командой для выполнения.
1. Запуск с указанием приоритета
2. Справка
Сгенерированная команда:
Комбинируйте команды.
Описание:
`nice` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры сценариев использования
Шаблоны, используемые для управления системной нагрузкой в реальных условиях.
Запуск резервного копирования с низким приоритетом (уступка ресурсов)
nice -n 10 tar -czf backup.tar.gz /var/www
При выполнении объемной операции архивации (`tar`) запускает ее с повышенным значением nice (10), чтобы другие важные службы, такие как веб-сервер, не замедлялись.
Запуск с очень низким приоритетом
nice -n 19 ./heavy_computation.sh
Устанавливает максимальное значение 19, чтобы CPU использовался только тогда, когда система свободна.
Запуск с высоким приоритетом (требуются права root)
sudo nice -n -10 ./critical_service
Присваивает важному процессу высокий приоритет (-10), чтобы он мог монополизировать CPU. Для установки отрицательных значений требуется `sudo`.
Внимание к нотации
nice -n -5 command
Опция `-` и отрицательное число `-` могут выглядеть как `-10`. Поскольку `nice -10` является старой нотацией для `nice -n 10` (положительное 10), рекомендуется явно указывать `-n`, чтобы избежать путаницы.
Установка
nice является базовой командой, входящей в 'GNU Coreutils', и предустановлена практически во всех дистрибутивах Linux.
Проверка установки
Можно использовать сразу, без дополнительной установки.
Советы и примечания
nice против renice
Четко уясните различия между этими двумя командами.
- nice: Присваивает приоритет при **новом запуске** команды.
- renice: Изменяет приоритет **уже запущенного** процесса (PID).
- Как проверить: Вы можете проверить значение nice текущего процесса в столбце `NI` в `top` или `htop`.