Нужно пояснить стандартный спецификатор формата для ps - возможная ошибка в документации - PullRequest
0 голосов
/ 16 апреля 2011

Примечание по pri со страницы руководства ps:

«При приоритете процесса. Чем выше число, тем ниже приоритет»

Рассмотрим PID 26073 здесь

$ renice +15 26073 


26073: old priority 5, new priority 15 # I am making this process more nice 

$ ps -t 1 -o pid,ppid,%cpu,stat,cmd,bsdstart,time,pri

  PID  PPID %CPU  STAT CMD      START     TIME PRI
 9115 18136  0.0   Ss   bash     17:10 00:00:01  19
26073  9115 12.0   RN+  p4 sync  19:06 00:02:56   4

STAT = RN +, что означает: «Бег», «низкий прио» (хорошо для других), передний план. PRI = 4 (1)

$ sudo renice -10 26073 

26073: old priority 15, new priority -10 # I am making this process less nice

 $ ps -t 1 -o pid,ppid,%cpu,stat,cmd,bsdstart,time,pri

  PID  PPID %CPU STAT CMD       START     TIME PRI
 9115 18136  0.0  Ss   bash     17:10 00:00:01  19
26073  9115 12.0  S<+  p4 sync  19:06 00:03:15  29

STAT = S <+, что означает: прерывистый сон, высокий приоритет (не приятный для окружающих), передний план. PRI = 29 (2) </p>

В случае 2 приоритет процесса увеличился или, говоря иначе, процесс стал более приоритетным.

Но это противоречит тому, что определение pri говорит из man-страницы (более высокое число означает более низкий приоритет)

Ответы [ 2 ]

6 голосов
/ 16 апреля 2011

Вас смущает PRI (непосредственный приоритет) против NICE (назначенный приоритет).PRI часто получает повышение (т. Е. Меньшее значение), когда процесс перезапускается после блокировки на ввод-вывод, и наоборот уменьшается (более высокое значение), если он использует свой назначенный планировщиком временной интервал без блокировки, по крайней мере, сстандартный планировщик.Многие системы имеют альтернативные планировщики с различным поведением, но во всех случаях PRI является фактическим текущим приоритетом, который назначил планировщик;на это значение влияет, но не определяет присвоенная «доброжелательность».

Ссылка на управление приоритетами Linux здесь : http://oreilly.com/catalog/linuxkernel/chapter/ch10.html

1 голос
/ 16 апреля 2011

Хотя я не эксперт в планировщике Linux, я знаю, что он «наказывает» процессы, связанные с процессором, и вознаграждает процессы, связанные с вводом / выводом (что большинство планировщиков делают в большей или меньшей степени). Как объяснено, эта и другие корректировки, наряду со значением NICE, приводят к настройке внутреннего приоритета в планировщике. Тот факт, что они используют обратное значение NICE и неинверсное значение внутреннего PRI, несколько сбивает с толку, но имеет смысл.

...