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.applub cokolwiek) użyj nicei renice, podobnie jak w innych uniksach.
Użyj nicepodczas 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, reniceaby zmienić priorytet już uruchomionego procesu (ze strony podręcznika renicena 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 pidtrochę. 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 -ow 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 nicei renicesą 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:
topw 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 -20daje procesowi najwyższy możliwy priorytet, na przykład podczas kompilacji dużego programu, takiego jak oktawa. renice 20nadaje 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ć nicelub reniceprzy 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 nicewartości za pomocą F7i F8skrótów.
(Należy pamiętać, że nicewartości ujemne są bardziej priorytetowe, a przeciwne dla wartości dodatnich)
Aby zainstalować:
brew install htopw terminaluhtopaby zobaczyć i zarządzać procesami w Terminalu lub sudo htopobjąć cały system.