O que exatamente é Prioridade e Afinidade (encontrado no Gerenciador de Tarefas) e para que são usados:
Em que situações eles devem / poderiam ser usados e quais vantagens são encontradas ao personalizar essas configurações.
fonte
O que exatamente é Prioridade e Afinidade (encontrado no Gerenciador de Tarefas) e para que são usados:
Em que situações eles devem / poderiam ser usados e quais vantagens são encontradas ao personalizar essas configurações.
Definir afinidade faz algo, mas você nunca vai querer usá-lo.
A configuração da afinidade da CPU força o Windows a usar apenas a CPU (ou núcleos) selecionados. Se você definir a afinidade para uma única CPU, o Windows executará esse aplicativo apenas nessa CPU, nunca em outros.
O Windows coloca automaticamente os aplicativos em execução no processador menos ocupado, limitando-o a uma única CPU não permite que o Windows faça seu trabalho. Mesmo que a CPU / núcleo 1 esteja ocupada executando outros aplicativos, o Windows não poderá executar um aplicativo com afinidade definida na CPU / Core 2.
Realmente, o único motivo pelo qual você deseja fazer isso é executar um aplicativo antigo que não funcione corretamente ao executar em um sistema com várias CPUs / Núcleos.
A definição de afinidade informa ao processo em que processadores é permitido executar.
Embora muito útil para alguns casos de nicho, o usuário médio provavelmente não deve mexer com ele.
Por exemplo, se um processo tivesse permissão de executar seu próprio núcleo, ele poderia ser executado em (quase) em tempo real, sem que os 70 utilitários do Windows interrompessem e trocassem constantemente a pilha no processador por sua própria fatia de tempo. Os aplicativos em tempo real eram algo que o Windows nunca poderia fazer antes que os sistemas multiprocessador / multinúcleo entrassem em cena, porque o sistema operacional constantemente interrompe / alterna a tarefa do aplicativo para seus próprios fins. Agora, isso pode ser superado isolando o processador de aplicativos em tempo real e impedindo que todos os outros aplicativos do sistema usem esse processador. Esse é um assunto muito específico, mas sistemas como simuladores de vôo (reais), automação de fábrica e sistemas de feedback de controle dependem da arquitetura em tempo real para funcionar.
Os aplicativos intensivos do processador (como VMs) podem ser isolados em seu próprio núcleo, para que você possa usá-los sem levar o resto do seu sistema a um rastreamento. Em teoria, um hipervisor em execução em um processador que suporta a interação bare-metal do hipervisor pode atingir o desempenho do processador igual ao SO independente em execução por conta própria (menos o processador necessário para executar o SO host). Obviamente, na prática, mesmo uma VM executando em seu próprio núcleo / processador isolado ainda precisará aceitar uma pequena quantidade de sobrecarga do host do SO host.
Para aplicativos que manipulam uma grande quantidade de dados em fluxo, isolar o aplicativo em seu próprio processador (e potencialmente ainda utilizando vários núcleos) reduzirá a troca de cache.
Os aplicativos mais antigos que quebram quando estão espalhados por vários processadores podem efetivamente ser limitados a um núcleo / processador para corrigir o problema.
Se você estava fazendo medições de desempenho em um aplicativo específico, é quase impossível obter resultados consistentes em diferentes sistemas, a menos que você possa isolar o processo porque, caso contrário, você não terá controle sobre quanto tempo o sistema operacional dá ao seu aplicativo. A maioria das pessoas concorda que medir o desempenho em tempo de execução não produz bons resultados, mas essas pessoas nunca consideraram que a intervenção do SO (que torna os resultados tão inconsistentes) pode ser limitada usando afinidade.
Existem muitos casos em que a afinidade é vital, mas, se você não sabe o que são, provavelmente não precisará.
fonte
Esse é um recurso muito útil em certos cenários. Digamos que você tenha um aplicativo multiencadeado que tende a ficar ocioso ou a capturar agressivamente 100% de cada CPU por vários minutos, fazendo pesquisas, construções etc. Vamos chamar esse aplicativo de "eclipse".
Digamos também que, enquanto você trabalha neste aplicativo, você tem vários outros aplicativos que possuem requisitos modestos de CPU, mas são essencialmente aplicativos em tempo real. Por exemplo, enquanto você usa o Eclipse e ele inicia aleatoriamente compilações ou realiza compilações gwt, também está usando o computador para transmitir músicas ou realizar pesquisas em uma janela do navegador (por exemplo, pesquisando a causa de um problema de compilação) . Claro, você não morrerá se sua música pular ou se o navegador parar de responder, mas é irritante.
O que a afinidade permite que você faça é restringir seu aplicativo de alimentação da CPU a 7/8 núcleos, para que todos os outros tenham acesso garantido a uma CPU relativamente não utilizada e você não precise lidar constantemente com gagueira e interrupções na usabilidade de tudo o mais no seu computador enquanto o eclipse está se esvaindo.
fonte
Maior prioridade significa que o processamento de uma tarefa será beneficiado em relação às tarefas de baixa prioridade. Se você estiver executando um aplicativo que precisa ser muito responsivo e vários outros processos não interativos, por exemplo, as prioridades podem garantir uma experiência melhor com seu processo de alta prioridade.
Por exemplo: desde o Windows Vista, o Windows Media Player recebe automaticamente uma prioridade mais alta para garantir a reprodução suave e contínua de arquivos de mídia, com apenas 20% do tempo da CPU disponível para outros processos por padrão. Este é apenas um exemplo para ajudar você a entender o que as prioridades fazem. (Você pode ler mais sobre as prioridades do Media Player no Vista no Technet .)
A afinidade branda ou branda pode aumentar a velocidade do processamento porque o cache da CPU ainda pode ter restos do processo quando um processo foi interrompido anteriormente e depois retomado posteriormente.
fonte
Um exemplo perfeito disso são os jogos antigos de computador (ou outro software), especialmente quando jogos de 32 bits (aplicativos) são emulados em um computador moderno de 64 bits. Ao definir a afinidade para jogos antigos, limitando-os a apenas quatro núcleos, é possível evitar muitas vezes travamentos para permitir o início de jogos de stubburn. Alguns mecanismos de renderização usados por jogos antigos, editores de vídeo e software de gráficos acelerados por hardware, ou software CAD, não entendem mais do que quatro núcleos da CPU e travam quando lançados.
Não estou criando uma conta apenas para postar isso, para me encontrar no google 'kieseyhow'
fonte