A prioridade do processo é recalculada periodicamente pelo sistema operacional?

3

Eu tenho uma pergunta sobre o cronograma do win-7 e a prioridade do processo.

O cenário é: Eu tenho um processo em execução, inicialmente em prioridade "Normal"

Eu acho este processo frequentemente reduzido para Background (Low I / O). Eu acabo definindo a prioridade de volta para "Normal" ou "Acima do Normal", porém em poucos minutos ela será reduzida novamente.

Eu tentei definir a prioridade usando o gerenciador de tarefas padrão do Windows ou procexp (acho que não deve haver diferença).

Portanto, a pergunta é: A prioridade do processo é recalculada para cobrir seu uso de E / S? O processo nessa situação é o Visual Studio 2015, que usa bastante HDD, o que pode ser um gargalo aqui.

    
por tom.wolanski 20.07.2016 / 13:08

3 respostas

0

Até onde eu sei, os sistemas operacionais Windows não alteram a prioridade de um processo, a menos que sejam instruídos a fazê-lo. No entanto, isso não significa que uma prioridade não possa ser alterada pelo programa em execução. Existe uma propriedade .NET chamada Process.PriorityClass que pode alterar a prioridade. Talvez, VS está determinando que pode reduzir seu uso da CPU para permitir que outros segmentos mais tempo de CPU?

    
por 04.10.2016 / 17:20
0

Ter a prioridade do processo ajustada na situação descrita não é incomum.

Para simplificar as coisas, vamos pensar na situação dessa maneira: prioridade mais alta geralmente significa que o processo "acorda" com mais frequência do que um processo de prioridade mais baixa (para executar algum trabalho). Considerando que o seu processo está fazendo um monte de E / S de disco (aleatório), mantê-lo em alta prioridade significa que ele "acordará" com frequência apenas para se encontrar aguardando o disco retornar dados. Como o switch de processo pode ser uma operação dispendiosa / demorada, reduzir a prioridade de um processo que consome muitos discos leva a uma melhor utilização do processador. Em outras palavras, ajustando a prioridade do processo, o processador pode passar mais tempo fazendo o trabalho, em vez de gastar esse tempo alternando entre os processos.

Eu acho que é mais provável que o VS ou o próprio processo esteja fazendo a re-priorização.

    
por 11.10.2016 / 03:42
0

O agendador de janelas provavelmente considerará indiretamente o uso de E / S (porque ele agendará processos com menos frequência que retornam rapidamente, como processos aguardando E / S). No entanto, a prioridade do processo deve ser um número definido pelo usuário [ou outros programas (incluindo o processo em si)] e influenciar ainda mais o agendador. ... Chega da minha adivinhação selvagem.

Estes respostas sugegst usando o Prio para salvar a prioridade de um processo (imposto por um serviço em segundo plano) também pode ajudar seu caso.

    
por 07.12.2017 / 17:01