Mam proces działający w tle na 100% procesorze w systemie Mac OS X. Wszystkie inne aplikacje są z tego powodu bardzo wolne.
Chciałbym ustawić ten proces na nie więcej niż 50%, aby moje aplikacje mogły działać lepiej. Jak mogę to zrobić?
Mam proces działający w tle na 100% procesorze w systemie Mac OS X. Wszystkie inne aplikacje są z tego powodu bardzo wolne.
Chciałbym ustawić ten proces na nie więcej niż 50%, aby moje aplikacje mogły działać lepiej. Jak mogę to zrobić?
Odpowiedzi:
Z wiersza poleceń ( Terminal.app
lub cokolwiek) użyj nice
i renice
, podobnie jak w innych uniksach.
Użyj nice
podczas uruchamiania procesu:
nice -n <priority> <command> <arguments to command>
Domyślny priorytet to zero, wartości dodatnie są „ładniejsze” (czyli o niższym priorytecie), a wartości ujemne - „mniej ładne” (o wyższym priorytecie). Wygląda na to, że Mac OS działa od +10 do -10.
Użyj, renice
aby zmienić priorytet już uruchomionego procesu (ze strony podręcznika renice
na 10.5):
renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
renice -n increment [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
To, co cię tutaj interesuje, to pid
trochę. To jest identyfikator procesu dla zadania i możesz go znaleźć za pomocą ps -u <your username>
i szukając nazwy procesu, ale ja wolę top -o
w tym przypadku, ponieważ proces, który Cię interesuje, będzie na górze.
Uwaga: Bez uprawnień administratora nie można nigdy zwiększyć priorytetu procesu. Dla zwykłych użytkowników nice
i renice
są ulicami jednokierunkowymi. Małe zmiany priorytetu mogą mieć duży wpływ na czas działania. Więc spokojnie, dopóki tego nie zrozumiesz.
Możesz użyć polecenia:
renice -n # PID
Gdzie:
top
w aplikacji terminalowej (utilities / terminal.app)Jeśli jest to proces systemowy lub inny proces użytkownika, wpisz:
sudo renice -n 10 PID
Poprosi Cię o podanie hasła (jeśli jesteś sudoer). Jeśli chodzi o liczbę, poleciłbym 10 lub 19 (nawet niższy priorytet).
Zauważ, że to zmieni priorytet, a nie użycie procesora. Jeśli nie uruchamiasz innych procesów, które wymagają procesora lub masz więcej niż jeden procesor na komputerze Mac (czterordzeniowy rdzeń 2), proces może nadal zużywać 100% procesora.
renice 20 $(pgrep ImageOptim)
Lub użyj nazwy swojego programu zamiast ImageOptim
renice -20
daje procesowi najwyższy możliwy priorytet, na przykład podczas kompilacji dużego programu, takiego jak oktawa. renice 20
nadaje procesowi najniższy priorytet.
Istnieje również szereg narzędzi GUI, takich jak bezpłatny BeNicer i Process Wizard (mój poprzedni ulubiony) oraz wersja Freezer za 1,99 USD , która jest moim nowym ulubionym. Wszystko to działa na uruchomionych aplikacjach.
Jeśli twój proces jest narzędziem aplikacji lub pomocnika aplikacji, a nie procesem systemowym i nie chcesz tego robić nice
lub renice
przy każdym uruchomieniu systemu, możesz spróbować w AppPolice . Jest open source i bezpłatny. Możesz go pobrać tutaj .
Inną alternatywą byłoby bardzo przyjemne GUI menedżera zadań z linii poleceń htop
. Możesz zobaczyć wszystkie procesy i dostroić ich nice
wartości za pomocą F7
i F8
skrótów.
(Należy pamiętać, że nice
wartości ujemne są bardziej priorytetowe, a przeciwne dla wartości dodatnich)
Aby zainstalować:
brew install htop
w terminaluhtop
aby zobaczyć i zarządzać procesami w Terminalu lub sudo htop
objąć cały system.