Qual é a maneira correta de alterar a política de agendamento de um processo para o IDLE?

2

Eu tenho um longo processo em execução em um servidor executando o Ubuntu Server 9.10. Gostaria de executá-lo sob a política SCHED_IDLE usando o comando chrt . No entanto, depois de ler a man page, não consigo entender a maneira correta de emitir o comando para um processo em execução.

Eu tentei sem sucesso:

# chrt -i -p 688
pid 688's current scheduling policy: SCHED_OTHER
pid 688's current scheduling priority: 0
# chrt -p -i 688
pid 688's current scheduling policy: SCHED_OTHER
pid 688's current scheduling priority: 0
# chrt -p 688 -i
chrt: failed to set pid 0's policy: Invalid argument

Vou continuar tentando, mas você sabe como fazer o que eu quero?

    
por ΤΖΩΤΖΙΟΥ 24.09.2010 / 22:47

1 resposta

2

Uau. Depois de verificar a Web por exemplos, encontrei esta página em ibm.com, que fornece um exemplo de como configurar a política de planejamento de um processo em execução para SCHED_FIFO:

# chrt -p -f 35 13826

35, obviamente, sendo a prioridade do processo na política SCHED_FIFO. Então eu tentei usar uma prioridade 0 dummy:

# chrt -p -i 0 688
# chrt -p 688
pid 688's current scheduling policy: SCHED_IDLE
pid 688's current scheduling priority: 0

e teve sucesso.

    
por 24.09.2010 / 22:53