O que é o processo "Interrupções do sistema" no Windows?

16

Meu sistema é um notebook com uma CPU AMD A10 5750m, GPU R9 M290X, 8GB, 1TB. Percebi um processo que está sempre ativo, chamado “Interrupções do Sistema”, neste momento, consome em média 1,5% da CPU.

Eu procurei em todos os lugares, mas não encontrei nada sobre esse processo. Eu encontrei pessoas que têm o processo consumindo valores extremamente altos de CPU, o que não é o meu caso. Isso é normal? Estará ativo o tempo todo, consumindo (até) uma parte mínima da CPU?

Daniel
fonte

Respostas:

29

"Interrupções do sistema" não é um processo no sentido tradicional, mas está presente para tentar explicar ao usuário que o computador está gastando 1,5% de seus recursos da CPU processando solicitações de interrupção. As interrupções ocorrem abaixo do nível do sistema operacional e, portanto, não são associadas a nenhum processo específico.

Existem interrupções (IRQs) para que os componentes de hardware do seu sistema possam informar à CPU coisas como "ocorreu um erro" ou "os dados solicitados estão disponíveis agora" ou "este dispositivo gostaria de enviar dados". Sempre que um dispositivo ou software precisa informar à CPU algo sobre a tarefa que está executando, ou precisa instruir a CPU a fazer algo, isso gera uma interrupção, que a CPU recebe e manipula . Quando isso acontece, a CPU interrompe imediatamente o que está fazendo para processar a interrupção.

Quando vistos como um processo, outro item relacionado são as DPCs (chamadas de procedimento diferido) , que são funções do SO chamadas direta ou indiretamente em resposta a uma interrupção levantada, de maneira assíncrona. Ao adicionar as interrupções do sistema e o processamento do DPC, geralmente é possível estimar a quantidade de recursos em uso, respondendo à manipulação do IRQ.

Há boas interrupções e más. Se você está gastando muito tempo no processamento de interrupção, há uma boa probabilidade de que pelo menos uma peça de hardware esteja falhando. Por outro lado, muito hardware usa IRQs para cronometrar e outros fins valiosos. Por exemplo, o barramento PCI usa IRQs para controlar qual dispositivo está usando o barramento a qualquer instante, para que cada dispositivo compartilhe o barramento com eficiência.

Em 1,5%, tudo parece normal para mim.

Frank Thomas
fonte
1
Obrigado pela sua resposta. Que porcentagem de consumo deve me preocupar? Se eu tiver um problema, como posso saber qual parte do hardware está falhando?
21414 Daniel
depende realmente da frequência da sua CPU. Eu tive sistemas que apenas se sentavam em 1,5 e outros em menos de 0,10 - 0,20. Eu realmente me preocuparia se você estivesse usando mais de 10% em uma máquina moderna.
Frank Thomas
Minha CPU roda em 2.5ghz. É estranho, às vezes está em 1,5% (como eu disse: Média) e, por exemplo, agora está em 0,3%, mas já vi em 5%. Vou seguir o conselho do JakeGould e não vou pensar demais nisso ... meu PC está perfeitamente bom :) E agora eu sei um pouco mais sobre isso. Obrigado!!
Daniel
2
na maioria das vezes, você não, a menos que haja um problema de hardware que você diagnostica e repara. você pode evitar volumes USB para discos rígidos (em vez de instalar o disco em uma porta SATA), pois o USB usa interrupções para compartilhar o barramento, mas diferente desse tipo de coisa, a menos que haja algo errado, você precisa das interrupções que está recebendo. Eles não são configuráveis ​​pelo usuário, além dos endereços que cada dispositivo usa, o que você pode fazer 20 anos atrás.
Frank Thomas
2
@ Demilathor, não muito. Toda a arquitetura dos computadores é baseada em interrupções e a redução forçada do uso da CPU (se possível) simplesmente travaria ou diminuiria a velocidade do sistema inteiro. A única maneira segura de reduzir o número de interrupções é reduzir o número de peças de hardware que enviam interrupções para a CPU. Para isso, você pode remover / desconectar / desligar todo o hardware não necessário e ver se isso faz alguma diferença. Se algum hardware não for removível, procure por configurações que acionariam menos 'atualizações' (modo de espera, se possível).
Hoki
4

“Interrupções do sistema” - também conhecidas como “Interrupções” e “IRQs” - são processos no nível do sistema operacional que gerenciam como o hardware se comunica com o sistema. Como explicado aqui na Wikipedia :

Na programação de sistemas, uma interrupção é um sinal para o processador emitido por hardware ou software, indicando um evento que precisa de atenção imediata. Uma interrupção alerta o processador para uma condição de alta prioridade que requer a interrupção do código atual que o processador está executando. O processador responde suspendendo suas atividades atuais, salvando seu estado e executando uma função chamada manipulador de interrupção (ou rotina de serviço de interrupção, ISR) para lidar com o evento. Essa interrupção é temporária e, após a conclusão do manipulador de interrupções, o processador retoma as atividades normais.

Portanto, é uma parte necessária da configuração do seu sistema principal. E se o uso da CPU disparar através do teto, isso significa simplesmente que há algum problema com o sistema se comunicando com o hardware.

JakeGould
fonte
Obrigado. Como posso monitorar quais eventos estão causando essas interrupções? Se houver algo errado, deve haver uma maneira de aprender o que está acontecendo, não é?
Daniel
1
Não tenho 100% de certeza em máquinas Windows. Mas nunca ouvi falar de nenhum administrador do Windows com quem trabalhei com tanto cuidado. Você pode estar pensando demais nisso. Mais detalhes da Microsoft. technet.microsoft.com/en-us/library/cc940374.aspx
JakeGould
2
você geralmente não pode visualizar as informações de interrupção em um sistema operacional, porque elas ocorrem abaixo do nível do sistema operacional. não é realmente uma grande preocupação, a menos que sua CPU seja realmente alta para processamento de IRQ ou DPC.
Frank Thomas
1
@Devilathor Bem, parte do motivo pelo qual não tenho mais tanta certeza das interrupções é porque o último que realmente lidei com elas foi - seriamente - em 1992, quando eu fazia o trabalho de TI em 486 máquinas. E definir IRQs às vezes significava uma combinação de BIOS e ajustes de jumpers físicos. Então, acho que meu cérebro não tem utilidade para entender essas coisas hoje em dia, quando tudo isso está realmente nos bastidores na maioria dos sistemas.
JakeGould
1
IRQs são seriamente para operações que não são pertinentes a um usuário. Não me importo quando minha CPU executa uma alternância de contexto para executar um thread diferente enquanto uma operação de DMA para o thread em pausa aguarda um IRQ de retorno de chamada assíncrono para indicar que os dados estão prontos para uso. Esse tipo de coisa acontece literalmente um milhão de vezes por segundo.
22414 Frank Frank Thomas