Principal Smartphones Como restringir aplicativos a núcleos de CPU específicos com afinidade de processador

Como restringir aplicativos a núcleos de CPU específicos com afinidade de processador



A maioria dos PCs com Windows agora são alimentados por processadores multi-core, e as versões recentes do Windows geralmente fazem um ótimo trabalho em dividir automaticamente o poder de processamento total do seu PC para melhor acomodar seus aplicativos e jogos em execução. Mas às vezes o usuário e o Windows podem ter ideias diferentes quando se trata de tomar decisões sobre como usar melhor a potência da CPU de um PC, e é aí que os usuários avançados podem intervir e restringir manualmente certos aplicativos ou processos a núcleos de CPU específicos, graças a um recurso chamado Afinidade do processador . Veja como fazer.
Quando se trata de versões de nível de consumidor do Windows, a capacidade de um usuário configurar manualmente o uso de núcleos de CPU específicos de um aplicativo remonta ao período de tempo do Windows XP / 2000, embora as etapas sejam ligeiramente diferentes em cada versão do Windows. Para as etapas e capturas de tela neste artigo, estamos usando o Windows 10, mas os leitores que executam versões mais antigas do Windows, especialmente Windows 7 e Windows 8 / 8.1, devem ser capazes de seguir as etapas básicas em face de pequenas diferenças na IU do Windows .
Também é importante observar antes de prosseguirmos que modificar a afinidade do processador para um processo ou aplicativo específico pode causar problemas de estabilidade e provavelmente degradará o desempenho de aplicativos e jogos modernos de multithread. Portanto, certifique-se de experimentar aplicativos e dados não cruciais primeiro e certifique-se de salvar qualquer trabalho aberto ou progresso do jogo antes de modificar as configurações discutidas aqui, pois o aplicativo ou o sistema podem travar.

Como restringir aplicativos a núcleos de CPU específicos com afinidade de processador

Por que limitar o acesso de um aplicativo aos núcleos da CPU?

Como mencionado acima, a maioria dos usuários deseja que o Windows controle automaticamente o poder de processamento do PC, garantindo que os aplicativos que podem utilizar todos os núcleos tenham acesso a eles. Isso geralmente resulta em melhor desempenho, então a principal questão éPor quêum usuário poderia querer limitar ou restringir um determinado aplicativo multi-threaded para menos do que a quantidade total de núcleos físicos e lógicos que um PC tem disponível.
Existem duas respostas básicas para essa pergunta: 1) para garantir a compatibilidade e o desempenho com software mais antigo e 2) para executar um processador que, de outra forma, seria muito encadeado e, ao mesmo tempo, reservar recursos suficientes para executar outras tarefas simultaneamente.
Começaremos com a primeira resposta: compatibilidade e desempenho. Alguns aplicativos e jogos do Windows foram codificados muito antes que os processadores multi-threaded e multi-core no nível do consumidor fossem uma realidade. Os criadores de jogos mais antigos em particular podem nunca ter imaginado que alguém jogando o jogo teria algo mais do que um PC com Windows alimentado por um único núcleo de CPU de alta frequência. Quando o software desta era encontra CPUs modernas com quatro, seis, oito ou até mais núcleos, às vezes pode resultar em problemas de desempenho ou até mesmo na incapacidade de iniciar o programa.
Muitos aplicativos e jogos ainda funcionam bem, é claro, mesmo quando alimentados pelo mais recente 8-core / 16-thread CPUs de desktop monstro . Mas se você está tentando jogar um jogo mais antigo e está tendo problemas, usar a afinidade do processador para restringir manualmente o processo do jogo a apenas um de seus muitos núcleos pode ser uma boa etapa de solução de problemas a tentar.
A segunda resposta é provavelmente mais útil para mais usuários do Windows e formará a base de nossas instruções passo a passo abaixo. Embora muitos aplicativos do Windows, particularmente jogos , ainda não consegue tirar proveito de mais de um ou dois núcleos, aplicativos de criação de conteúdo, como codificadores de vídeo e ferramentas de renderização 3D, foram otimizados nos últimos anos para poder usar cada grama de poder de processamento que seu PC pode oferecer. Em geral, você deseja que esses aplicativos sejam executados o mais rápido possível, mas às vezes a velocidade ou o tempo de conclusão não são o fator principal, e você prefere manter uma parte do poder de processamento do seu PC disponível para outra tarefa enquanto seu exigente aplicativo de mídia é executado no fundo. É aqui que a afinidade do processador é realmente útil.

como acessar mensagens deletadas no iphone

Passo a passo: nosso exemplo

Um aplicativo que pode consumir todos os núcleos da CPU que você joga nele é um codificador de vídeo x264 como RipBot264 (ou HandBrake ou qualquer uma das inúmeras ferramentas de codificador x264 e x265 disponíveis). Para nosso exemplo, queremos que o RipBot264 codifique um arquivo de vídeo, mas também queremos trabalhar em outros projetos em aplicativos como Photoshop e Premiere ao mesmo tempo.
gerenciador de tarefas do Windows todos os processadores

Por padrão, um aplicativo como o RipBot264 usará todo o poder de processamento disponível.


Se iniciarmos nossa codificação RipBot264 e, em seguida, lançarmos o Photoshop e o Premiere, o Windows fará o possível para priorizar e acomodar as necessidades de cada aplicativo, mas o Windows também ocasionalmente cometerá um erro, resultando em lentidão ou congelamento temporário em nossos aplicativos ativos. Podemos tentar evitar isso usando afinidade de processador para limitar o uso de nossos núcleos de CPU pelo RipBot264.
Para começar, primeiro certifique-se de estar conectado a uma conta de usuário do Windows com privilégios de administrador. Em seguida, vá em frente e inicie o aplicativo que deseja restringir. No nosso caso, é RipBot264.
Em seguida, inicie o Gerenciador de Tarefas do Windows, clicando com o botão direito na barra de tarefas e selecionando Gerenciador de tarefas ou usando a combinação de atalhos de teclado Ctrl-Shift-Escape . Por padrão, o Gerenciador de Tarefas nas versões recentes do Windows começa em uma exibição básica. Se o seu gerenciador de tarefas não se parecer com o que está em nossas capturas de tela, clique em Mais detalhes para revelar a interface completa. Depois de fazer isso, certifique-se de estar na guia Processos e agora encontre seu aplicativo ou processo.
Esta última etapa é potencialmente mais fácil dizer do que fazer. Em muitos casos, você simplesmente encontrará o aplicativo desejado na lista. Em outros casos, alguns aplicativos podem usar processos exclusivos além do processo de aplicativo principal para certas tarefas. A chave é encontrar o processo ou processos responsáveis ​​pelo uso da CPU que você deseja limitar. Uma boa maneira de testar isso é iniciar a atividade exigente (em nosso caso, começar a codificar um arquivo de vídeo) e, em seguida, classificar o Gerenciador de Tarefas pela coluna CPU para encontrar os processos que estão usando os níveis mais altos de recursos da CPU. Se o nome do processo (novamente, em nosso caso, é um processo de codificador H.264) corresponder ao seu aplicativo de destino, está tudo pronto.
Com o processo correto identificado, clique com o botão direito sobre ele e selecione Vá para detalhes . Isso o levará à guia Detalhes do Gerenciador de Tarefas e realçará automaticamente o processo correto.
gerenciador de tarefas, vá para detalhes
Agora, clique com o botão direito novamente no processo e selecione Definir afinidade .
gerenciador de tarefas definir afinidade
Uma nova janela chamada Afinidade do processador aparecerá preenchida com caixas de seleção e uma lista numerada de CPUs, cujo número é baseado no número total de núcleos físicos e lógicos compactados em sua CPU específica. Nosso sistema de exemplo está executando um Intel Core i7-5960X, que tem oito núcleos hyperthreaded. Portanto, temos um total de 16 CPUs listadas em nossa janela Afinidade do processador.
afinidade do processador do gerenciador de tarefas
Em seguida, é hora de decidir o quanto você deseja restringir seu aplicativo. Clique na caixa de seleção ao lado de Todos os processadores para desmarcar todas as caixas da CPU e, em seguida, escolher pelo menos uma caixa da CPU para marcar, com cada uma representando um núcleo físico ou lógico. Na ausência de quaisquer defeitos de CPU ou cenários exclusivos de overclocking, geralmente não importa quais núcleos você seleciona.
afinidade do processador limitada
Em nosso exemplo, queremos limitar o RipBot264 a quatro núcleos, deixando muito espaço para nossas outras tarefas mais urgentes. Depois de selecionar o número desejado de núcleos, pressione OK para fechar a janela Afinidade do processador. Suas alterações entrarão em vigor imediatamente e se o aplicativo já estava envolvido em uma tarefa de CPU pesada, você verá o uso do processador despencar em todos, exceto nos núcleos selecionados.
afinidade do processador do gerenciador de tarefas limitada

Uma vez que configuramos o RipBot264 para usar apenas 4 de nossos 16 núcleos, o uso da CPU cai imediatamente nos núcleos restantes.


Com esta configuração, podemos deixar o RipBot264 codificar o mais rápido possível nesses quatro núcleos, mas os doze núcleos restantes em nosso sistema são livres para lidar com outros aplicativos. Se mais tarde terminarmos nosso outro trabalho e quisermos restaurar o desempenho total do RipBot264, podemos simplesmente repetir as etapas acima para voltar à janela Afinidade do processador e, em seguida, verificar o Todos os processadores para mais uma vez conceder ao aplicativo acesso a todos os núcleos de nossa CPU.

Ressalvas

Além dos problemas de estabilidade mencionados anteriormente, há uma outra grande advertência que você precisa considerar. Todas as alterações feitas na afinidade do processador são redefinidas sempre que o processo é reiniciado. Isso significa que, no mínimo, você precisará repetir essas etapas sempre que reiniciar o PC. Alguns processos são ainda mais problemáticos, no entanto, porque são recarregados automaticamente, dependendo das instruções do aplicativo. Em nossa configuração RipBot264, por exemplo, o processo do codificador H.264 que modificamos é reiniciado sempre que o aplicativo passa a codificar um novo arquivo de vídeo.
Você pode contornar essa limitação criando scripts personalizados que definem a afinidade do processador do seu aplicativo por meio de um arquivo em lote ou atalho baseado em linha de comando, mas alguns aplicativos podem usar processos únicos ou aleatórios que tornam esses esforços difíceis ou impossíveis. Portanto, é melhor experimentar individualmente com cada aplicativo que você deseja restringir para encontrar a melhor maneira de configurar manualmente a afinidade do processador.

como hackear um clássico de playstation

Artigos Interessantes