496просмотров
11.3%от подписчиков
23 марта 2026 г.
questionScore: 546
Как заставить важную программу работать быстрее? (Команды nice и renice) Когда вы запускаете тяжелую задачу (например, рендеринг, архивацию или расчеты в Revit через Wine), она начинает бороться за ресурсы процессора с другими процессами. В Linux можно явно указать ядру: «Этой программе дай всё самое лучшее, а фоновые задачи пусть подождут». Для этого есть шкала «вежливости» процессов — Nice. 1. Как это работает?
Уровень «вежливости» измеряется от -20 (самый высокий приоритет, процесс «наглый» и забирает всё время CPU) до 19 (самый низкий приоритет, процесс «очень вежливый» и работает только тогда, когда процессор простаивает). По умолчанию все программы запускаются с приоритетом 0. 2. Запуск программы с нужным приоритетом:
Если вы хотите запустить скрипт и выжать из него максимум: sudo nice -n -10 ./heavy_script.sh — Обычный пользователь может только ухудшать приоритет своей программы (от 0 до 19). Чтобы дать процессу высокий приоритет (от -1 до -20), нужны права sudo. 3. Как изменить приоритет у уже запущенной программы:
Допустим, вы запустили бэкап, и он начал тормозить вашу текущую работу в терминале. Сделайте его «вежливым»: renice -n 15 -p [PID] — Узнать PID (ID процесса) можно через top или htop. Почему это полезно инженеру и разработчику:
— Компиляция на фоне: Вы можете запустить сборку тяжелого проекта с nice -n 19 make, и спокойно серфить в интернете без фризов. Браузер будет летать, а сборка заберет только «свободные остатки» процессора.
— Фоновые скрипты: Парсеры, бэкапы и выгрузки баз данных лучше всегда запускать с пониженным приоритетом.
— Приоритет для UI: Можно поднять приоритет оконного менеджера или Docker, если система перегружена. Важный нюанс:
Приоритет nice управляет только процессорным временем (CPU). Если ваша программа тормозит из-за того, что читает терабайты данных с диска, nice не поможет — тут нужен ionice, о котором мы говорили раньше. 🔥 Лайфхак: В утилите htop можно менять приоритет процессов на лету. Просто выделите нужный процесс и нажимайте клавиши [ (увеличить приоритет / уменьшить nice) или ] (уменьшить приоритет / увеличить nice). 🚪 Bash Ready | #практика