
Ou seja, é o agendador O(1), o agendador CFS ou um mais antigo?
Responder1
Você pode chamar sched_getscheduler(process_pid)
para determinar a política de agendamento de um processo.
Se /sys/kernel/uids
existir, você tem CFS. Ou você poderia tentar
[[ -n $(awk '$3 == "load_balance_fair" {print;}' < /proc/kallsyms) ]] &&
echo CFS
Não tenho certeza de como você poderia distinguir o agendador O(1) de outros agendadores obsoletos. Você poderia usar a versão do kernel, suponho, mas como as distribuições aplicaram patches aos seus kernels enviados, isso não será confiável.
Responder2
O escalonador de um processo pode ser definido pelo programador, usando esta função man sched_setscheduler
para ver o agendador usado por um processo, você pode usar o comando top
para alterar o agendador de um processo chrt