Как проверить политику планирования процессов, отличную от вывода `ps`

Я использую Linux-версию busybox и хочу проверить политику планирования процессов. PS вывод только на экран PID USER VSZ STAT COMMAND независимо от того, какой вариант дан с PS команда. Есть ли другой способ проверить политику планирования процессов?

Заранее спасибо!!

2 ответа

Решение

Вы можете найти информацию о расписании процесса, посмотрев на /proc/pocess_id/sched,

Например:

awk '/policy/ {print $NF}' /proc/25/sched

даст вам полис номер процесса 25,

Для получения дополнительной информации о номерах политики, вы можете посмотреть на man sched_setscheduler:

Scheduling Policies:
    ...
   For  threads scheduled under one of the normal scheduling policies
   (SCHED_OTHER, SCHED_IDLE, SCHED_BATCH), sched_priority is not used
   in scheduling decisions (it must be specified as 0).

   Processes scheduled under one of the real-time policies
   (SCHED_FIFO, SCHED_RR) have a sched_priority value in the range 1
   (low)  to  99  (high).  (As the numbers imply, real-time threads
   always have higher priority than normal threads.)  Note well:
   POSIX.1-2001 requires an implementation to support only a minimum
   32 distinct priority levels for the real-time policies, and some
   systems supply  just  this  minimum.   Portable  programs should
   use sched_get_priority_min(2) and sched_get_priority_max(2) to
   find the range of priorities supported for a particular policy.

Чтобы узнать, какой планировщик ввода-вывода настроил ваше ядро, введите:

cat /proc/config.gz |grep CONFIG_DEFAULT_IOSCHED
Другие вопросы по тегам