Zmień wartość (priorytet) uruchomionego procesu

80

Czy można ustawić nowy nicepoziom uruchomionego procesu o znanym identyfikatorze?

Czy ta operacja wymaga dostępu do konta root, czy po prostu bycia właścicielem procesu?

Adam Matan
źródło

Odpowiedzi:

76

Terminal

Jeśli jesteś w terminalu, możesz użyć renice

renice [-n] priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]

Prostym przykładem byłoby

renice 8 31043
31043: old priority 5, new priority 8

Możesz także przekazać twarde flagi, ale następuje to w tej kolejności (najpierw musisz przekazać priorytet, a następnie pid - jeśli zmienisz kolejność, wyświetli komunikat użycia)

renice -n 5 -p 31043
31043: old priority 8, new priority 5

Priorytety pracy w skali od -20do 19- Im niższa liczba, tym wyższy priorytet to jest w systemie.

Jeśli jesteś właścicielem procesu, nie będziesz potrzebować roota - jednak, jeśli proces jest własnością innego użytkownika lub jeśli planujesz zmienić grupę / użytkownika root procesu (via sudo), będzie wymagana.

Marco Ceppi
źródło
11
Nie można zmniejszyć liczby użytkowników jako użytkownika. :)
htorque
5
Jak mówi @htorque, osoba niebędąca rootużytkownikiem może jedynie zwiększyć uprzejmość - nie może zmniejszyć uprzejmości, nawet do poprzedniego poziomu upośledzenia, jaki miał proces, a nawet do poprzedniego poziomu upośledzenia, z którego sami się wycofali renice. Zalecam edycję tej odpowiedzi, aby uwzględnić te informacje.
Eliah Kagan
2
Czy jest jakaś wada, aby proces miał priorytet -20?
James Watkins
2
@JamesWatkins Możesz utknąć w martwym punkcie komputera
DarthRubik
33

GUI

  • Alt+ F2i wpiszsudo gnome-system-monitor

Przed 11.04: System> Administracja> Monitor systemu. Wybierz procesy.
W 11.04: Alt+ Ai wyszukaj system monitor.

Identyfikatory są pokazane na obrazku tutaj:

wprowadź opis zdjęcia tutaj

I nice nie wymaga sudo do zwiększenia uprzejmości, jeśli jesteś właścicielem zadania. Dzieje się tak, jeśli musisz zmniejszyć dobroć.

Rinzwind
źródło
10

Uruchom polecenie z ładnym prio

nice -n 19 your_command

Proces renice

renice 19 $(pidof your_command_name_like_for_ex_ffmpeg)

19

od -20 do 19

19 ma najniższy priorytet

Philippe Gachoud
źródło
8

Użycie „renice” w terminalu jest następujące:

Usage:
 renice [-n] <priority> [-p] <pid> [<pid>  ...]
 renice [-n] <priority> [-g] <pgrp> [<pgrp> ...]
 renice [-n] <priority> [-u] <user> [<user> ...]

Options:
 -g, --pgrp <id>        interpret as process group ID
 -h, --help             print help
 -n, --priority <num>   set the nice increment value
 -p, --pid <id>         force to be interpreted as process ID
 -u, --user <name|id>   interpret as username or user ID
 -v, --version          print version

Użycie „sudo” przed poleceniem „renice” podnosi użytkownika do poziomu root i wymagane będzie hasło administratora / roota.

Na przykład, jeśli chcesz podnieść proces za pomocą PID (identyfikator procesu) 2606 z normalnego priorytetu na wysoki priorytet, wpisz terminal w następujący sposób:

sudo renice -n -5 -p 2606
użytkownik141344
źródło
3

Możesz także ponownie uruchomić proces w górnej części.

1) Zacznij od góry

$ top

2) renice, naciskając r. Zostaniesz poproszony o podanie ID procesu (PID) procesu, który chcesz powtórzyć. Domyślny PID to pierwszy proces (taki, który zużywa najwięcej zasobów). Potwierdź za pomocą Enter. Ustaw nową ładną wartość z -20 (wyższy priorytet) na +19 (niższy priorytet).

wprowadź opis zdjęcia tutaj

Timothy Pulliam
źródło