Uruchom proces o wyższym priorytecie

14

Chcę działać mplayerz wyższym priorytetem niż jakiekolwiek inne procesy, w tym procesy IO. Jak mogę to zrobić?

SHW
źródło
Nie ma odpowiedzi na to pytanie w różnych wariantach. Ogólnie lepiej jest opisać używany system operacyjny (w tym dystrybucję dla systemu Linux, ale tutaj nie będzie to miało większego znaczenia, jeśli w ogóle). Dodałem linuxtag, zmień go, jeśli nie tego używasz.
Gilles „SO- przestań być zły”
Czy masz coś przeciwko, jeśli zapytam, dlaczego chcesz zwiększyć priorytet mplayera? Pytam, ponieważ miałem problemy z wcześniejszym zwiększeniem priorytetu mplayera, efekt był odwrotny do tego, co próbowałem osiągnąć, ponieważ mplayer byłby zajęty zużywaniem czasu procesora podczas czyszczenia postprodukcyjnego, a następnie zatrzymywał się, gdy sieć wreszcie łapałam powietrze, żeby pobrać więcej treści, a potem mplayer zaczął się jąkać z powrotem do życia, po prostu zatrzymując się ponownie, czekając na sieć.
killermist
Poprosiłem o tę przyczynę, gram film za pośrednictwem mplayera. Ilekroć próbuję pobrać kilka GB plików przez sieć. Podczas gry Mplayer obserwuje krojenie i szarpnięcie.
SHW

Odpowiedzi:

16

Aby ustawić niceness (związany z procesorem) użyj nice. Aby ustawić IO niceness (IO bound) użyj ionice. Więcej informacji można znaleźć na odpowiednich stronach podręcznika użytkownika. Możesz używać ich razem w następujący sposób:

ionice -c 2 -n 0 nice -n -20 mplayer

Uwaga: najniższy poziom uprzejmości (niższy oznacza bardziej sprzyjający), który możesz zdefiniować, jest określony przez limits.conf. Na moim komputerze plik znajduje się pod adresem /etc/security/limits.conf.

phunehehe
źródło
1
Wspominanie o klasach harmonogramu io jest dobre, ponieważ może to być duży czynnik. Nic nie warte tego, że w środkowej -c2klasie planowania procesy są domyślnie sortowane według ładnego poziomu, więc podane przykładowe polecenie naprawdę nie jest konieczne. Można spróbować umieścić mplayera w -c1klasie czasu rzeczywistego. (Z dostępem do
konta
7

Ogólnie rzecz biorąc, jako użytkownik inny niż root, możesz jedynie zmniejszyć priorytet swoich zadań, a nie je zwiększać. Tak więc jednym podejściem byłoby obniżenie priorytetu wszystkiego innego. Lub możesz skonfigurować coś na poziomie systemu, które obsługuje twoje priorytety.

Jeśli używasz stosunkowo nowoczesnej dystrybucji Linuksa, najpotężniejszym sposobem byłyby grupy kontrolne . Jest to w powijakach, więc w zasadzie musisz wszystko konfigurować ręcznie, ale w skrócie, chcesz, aby skonfigurować kategoryzator, aby umieścić różne procesy w różnych grupach kontrolnych procesora, a następnie dać procesowi mplayer więcej udziałów procesora.

mattdm
źródło