Как проверить политику планирования процессов, отличную от вывода `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