Alguns BIOS não têm a opção de desativar o Hyperthreading da CPU, existe uma maneira de desativá-lo no Registro do Windows 7? Ou uma ferramenta ou software?
Eu sei sobre a guia de inicialização do msconfig (opções avançadas) e desativar os processadores lá, não tenho certeza se desativa núcleos completos ou hyperthreads, ou como saber.
Windows 7 de 32 ou 64 bits
EDITAR:
Vamos supor que seja um núcleo dual ou mais com hyperthreading.
No Gerenciador de dispositivos, ele mostra quatro processadores no meu processador Intel i5 e você também não pode desativá-los.
Respostas:
Na folha de dados do processador Intel Core, volume 1 , página 38:
Isso ocorre porque hyperthreading é hardware físico real no dado CPU, e assim pode ser ativado / desativado em um nível de hardware única .
Se você souber qual aplicativo não funciona bem com o hyperthreading, poderá usar uma ferramenta como o StartAffinity se tiver o XP.
Se você usa o Windows 7, existe um
start
comando interno que pode fazer isso. Use o comando a seguir para iniciar um processo com uma afinidade de processador específica (novamente, o/AFFINITY
argumento foi adicionado apenas no Windows 7):Onde
<mask>
deve ser substituída pela máscara hexadecimal dos processadores que você deseja executar (a máscara do processador é apenas uma máscara binária que habilita / desabilita essa afinidade, portanto 00000101 habilita CPU0 e CPU2 e 00000010 habilita apenas CPU1).Para calcular o valor hexadecimal, você pode converter a máscara binária ou levar a soma de 2 à potência dos núcleos nos quais deseja executar o programa (a partir de 0) e converter esse valor em hexadecimal.
Por exemplo, se eu tiver um sistema de quatro núcleos e desejar apenas executar o processo na CPU0 e CPU2, adicionaria 2 0 + 2 2 = 1 + 4 = 5. Converta 5 em hexadecimal, que é apenas 5, e defina isso como seu
<mask>
. Você também pode converter 00000101 em hexadecimal também. Se você não sabe como converter essas bases, basta usar esta tabela de conversão .fonte
Desativar o Hyper-threading é um caso apenas do BIOS.
Suponho que você gostaria de desativar o Hyper-Threading porque possui um aplicativo que não é otimizado para esse recurso e pode ter desempenho reduzido?
Ao analisar a numeração da CPU, os núcleos físicos são numerados ímpares - portanto, em um sistema HT de núcleo duplo, os núcleos 1 e 3 seriam os "reais" da CPU. Se você selecionar 2 núcleos no msconfig, as CPUs 1 e 2 seriam ativadas para que você tivesse uma CPU Física e Lógica (HT) ativa - isso não seria benéfico se você estivesse tendo problemas com o software que possui problemas com HT.
fonte
No Windows, a maneira mais fácil é alterar a afinidade do explorer.exe, pois todos os processos iniciados a partir dele herdarão a máscara de afinidade. Ainda está longe de ser perfeito, mas pelo menos você faz isso apenas uma vez por sessão.
fonte