У мене фоновий процес працює на 100% ЦП на Mac OS X. Через це всі інші програми дуже повільні.
Я хотів би встановити цей процес на не більше 50%, щоб мої програми могли працювати краще. Як я можу це зробити?
У мене фоновий процес працює на 100% ЦП на Mac OS X. Через це всі інші програми дуже повільні.
Я хотів би встановити цей процес на не більше 50%, щоб мої програми могли працювати краще. Як я можу це зробити?
Відповіді:
У командному рядку ( Terminal.app
або будь-якому іншому ) використовуйте nice
та renice
, як і в інших Unixes.
Використовувати nice
при запуску процесу:
nice -n <priority> <command> <arguments to command>
Пріоритет за замовчуванням дорівнює нулю, позитивні значення "приємніші" (тобто нижчий пріоритет), а негативні - "менш приємні" (більший пріоритет). Схоже, Mac OS працює від +10 до -10.
Використовуйте renice
для зміни пріоритету вже запущеного процесу (зі renice
сторінки man на 10.5):
renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
renice -n increment [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
Частина, яка вас тут цікавить, - це pid
трохи. Це ідентифікатор процесу для роботи, і ви можете знайти його, використовуючи ps -u <your username>
і шукаючи ім'я процесу, але я вважаю top -o
за краще в цьому випадку, тому що процес, який вас цікавить, буде поруч.
Примітка. Без привілеїв суперпользователя ви ніколи не можете збільшувати пріоритет процесу. Для звичайних користувачів nice
і renice
це дороги в одну сторону. А невеликі зміни пріоритету можуть мати великий вплив на час роботи. Тому йдіть легко з цього питання, поки не зрозумієте цього.
Ви можете використовувати команду:
renice -n # PID
Де:
top
додаток терміналу (утиліти / terminal.app)Якщо це системний процес або інший користувацький процес, слід ввести:
sudo renice -n 10 PID
Він запитає ваш пароль (якщо ви судо). Щодо кількості, я б рекомендував 10 або 19 (навіть нижчий пріоритет).
Зауважте, що це змінить пріоритет, а не використання процесора. Якщо ви не працюєте з іншими процесами, для яких потрібен процесор, або у вас більше одного процесора на вашому Mac (Core 2 Quad Core), процес все ще може використовувати 100% процесора.
renice 20 $(pgrep ImageOptim)
Або використовуйте назву вашої програми замість ImageOptim
renice -20
дає процесу найбільш високий пріоритет, наприклад, при складанні великої програми на зразок октави. renice 20
надає процесу найнижчий пріоритет.
Є також ряд GUI утиліти, як вільний BeNicer і Process Wizard (мій попередній улюблений), і версія на $ 1,99 в морозильній камері , що мій новий фаворит. Усі вони працюють над запущеними програмами.
Якщо ваш процес - це утиліта для допоміжних програм чи додатків, а не системний процес, і ви не хочете робити цього nice
чи renice
під час кожного завантаження системи, ви можете дати йому знімок AppPolice . Це відкритий і безкоштовний код. Завантажити його можна тут .
Ще однією альтернативою буде дуже приємний інтерфейс GUI, який називається менеджером завдань командного рядка htop
. Ви можете бачити всі процеси та налаштовувати їхні nice
значення за допомогою клавіш F7
та F8
ярликів.
(Зверніть увагу, що негативні nice
значення є більш пріоритетними та протилежними позитивним значенням)
Щоб встановити його:
brew install htop
в терміналіhtop
переглядати і керувати процесами в Терміналі або sudo htop
охопити всю систему.