Algunos BIOS no tienen la opción de desactivar Hyperthreading de la CPU, ¿hay alguna forma de desactivarlo en el Registro de Windows 7? ¿O una herramienta o software?
Sé acerca de la pestaña de inicio de msconfig (opciones avanzadas) y la desactivación de los procesadores allí, no estoy seguro de si deshabilita los núcleos completos o hyperthreads, o cómo saberlo.
32 bits o 64 bits de Windows 7
EDITAR:
Supongamos que es un núcleo dual o más con hyperthreading.
En el Administrador de dispositivos muestra 4 procesadores en mi procesador Intel i5, y tampoco puedes desactivarlos, dang.
Respuestas:
De la hoja de datos del procesador Intel Core, volumen 1 , página 38:
Esto se debe a hyperthreading es hardware físico real en el dado de la CPU, y por lo tanto se puede activar / desactivar en un nivel de hardware única .
Si sabe qué aplicación no funciona bien con hyperthreading, puede usar una herramienta como StartAffinity si tiene XP.
Si usa Windows 7, hay un
start
comando integrado que puede hacer esto. Use el siguiente comando para iniciar un proceso con una afinidad de procesador particular (nuevamente, el/AFFINITY
argumento solo se agregó en Windows 7):Donde
<mask>
debe reemplazarse con la máscara hexadecimal para los procesadores que desea ejecutar (la máscara del procesador es solo una máscara binaria que habilita / deshabilita esa afinidad, por lo que 00000101 habilita CPU0 y CPU2, y 00000010 habilita solo CPU1).Para calcular el valor hexadecimal, puede convertir la máscara binaria o tomar la suma de 2 a la potencia de los núcleos en los que desea ejecutar el programa (a partir de 0), y convertir ese valor a hexadecimal.
Por ejemplo, si tengo un sistema de cuatro núcleos y solo quiero que el proceso se ejecute en CPU0 y CPU2, agregaría 2 0 + 2 2 = 1 + 4 = 5. Convertir 5 a hexadecimal, que es solo 5, y establece eso como tu
<mask>
. También podría convertir 00000101 a hexadecimal también. Si no sabe cómo convertir estas bases, puede usar esta tabla de conversión .fuente
Deshabilitar Hyper-threading es un asunto solo de BIOS.
Supongo que le gustaría deshabilitar Hyper-Threading porque tiene una aplicación que no está optimizada para esta función y puede tener un rendimiento reducido.
Al observar la numeración de la CPU, los núcleos físicos tienen un número impar, por lo que en un sistema HT de doble núcleo, los núcleos 1 y 3 serían las CPU "reales". Si selecciona 2 núcleos en msconfig, las CPU 1 y 2 se habilitarán para que tenga una CPU física y lógica (HT) activa; esto no lo beneficiaría si tiene problemas con el software que tiene problemas con HT.
fuente
En Windows, la forma más fácil es cambiar la afinidad de explorer.exe ya que cada proceso que se inicie desde allí heredará la máscara de afinidad. Todavía está lejos de ser perfecto, pero al menos lo haces solo una vez por sesión.
fuente