Милость и приоритетность процессов

Согласно некоторым ресурсам, которые я прочитал, процесс с низким значением nice имеет больший приоритет. Поскольку он имеет больший приоритет, CPU выделяет больше времени для этого процесса.

Тем не менее, это звучит немного странно, потому что значение приоритета процесса вычисляется путем суммирования значения nice с 20.

PR = NI + 20. Это легко увидеть с помощью команды top

Согласно этой формуле, процессы с более высокими значениями приятных имеют более высокие приоритеты, но некоторые ресурсы говорят, что процесс с более низкими значениями приятных имеет больший приоритет.

Какой из них является правдой?

1 ответ

Решение

Согласно этой формуле, процессы с более высокими значениями приятных имеют более высокие приоритеты, но некоторые ресурсы говорят, что процесс с более низкими значениями приятных имеет больший приоритет.

Закрыть, но без печенья. То, что числовое значение приоритета является высоким, не означает, что приоритет является высоким. top читает приоритет от /proc/<pid>/stat, Увидеть man 5 proc для объяснения этого файла:

(18) priority  %ld
    (Explanation  for Linux 2.6) For processes running a real-time scheduling
    policy (policy below; see sched_setscheduler(2)),  this  is  the  negated
    scheduling  priority,  minus  one;  that  is, a number in the range -2 to
    -100, corresponding to real-time  priorities  1  to  99.   For  processes
    running  under  a  non-real-time  scheduling policy, this is the raw nice
    value (setpriority(2)) as represented in the kernel.  The  kernel  stores
    nice  values  as numbers in the range 0 (high) to 39 (low), corresponding
    to the user-visible nice range of -20 to 19.

    Before Linux 2.6,  this  was  a  scaled  value  based  on  the  scheduler
    weighting given to this process.

Итак: PR идет от 0 (высокий) до 39 (низкий).

Другие вопросы по тегам