Use o comando chrt
com chrt --rr <priority between 1-99> <command>
Exemplo:
chrt --rr 99 ls
Note que definir SCHED_RR
requer permissões de root, então você precisa ser root ou executá-lo com sudo.
Você também pode usar chrt
para fornecer uma prioridade em tempo real ao processo em execução:
chrt -p --rr <priority between 1-99> <pid>
Os mesmos comandos se aplicam a outras classes de agendamento, embora com um parâmetro diferente, em vez de -rr:
Scheduling policies:
-b | --batch set policy to SCHED_BATCH
-f | --fifo set policy to SCHED_FIFO
-i | --idle set policy to SCHED_IDLE
-o | --other set policy to SCHED_OTHER
-r | --rr set policy to SCHED_RR (default)
Editar:
No caso do Firefox, deve ser importante para o Firefox. Em um aplicativo multithreaded eu escrevi a mim mesmo, todos os threads mantêm a classe RR. Como visto em sua saída, dois threads têm classe RR, então não é apenas o thread pai.
Editar 2:
Tente iniciar o processo com chrt
em vez de reprogramar um pid existente. Parece que, se você reprogramar, apenas o primeiro thread recebe a classe RR. No entanto, se você iniciá-lo com chrt
, cada segmento obtém isso.