Niektóre bios nie mają opcji wyłączania Hyperthreading procesora, istnieje sposób na wyłączenie go w rejestrze systemu Windows 7? Lub narzędzie lub oprogramowanie?
Wiem o karcie rozruchowej msconfig (opcje zaawansowane) i wyłączaniu tam procesorów, nie jestem pewien, czy wyłącza pełne rdzenie lub hiperwątki, ani jak to powiedzieć.
32-bitowy lub 64-bitowy system Windows 7
EDYTOWAĆ:
Załóżmy, że jest to dual core lub więcej z hyperthreading.
W Menedżerze urządzeń pokazuje 4 procesory na moim procesorze Intel i5 i nie można ich też wyłączyć, cholera.
Odpowiedzi:
Z arkusza danych procesora Intel Core, tom 1 , strona 38:
To dlatego hyperthreading jest rzeczywista sprzętu fizycznego na matrycy procesora, a tym samym mogą być włączone / wyłączone na poziomie sprzętowym tylko .
Jeśli wiesz, która aplikacja nie działa dobrze z hiperwątkiem, możesz użyć narzędzia takiego jak StartAffinity, jeśli masz XP.
Jeśli używasz systemu Windows 7, istnieje wbudowane
start
polecenie, które może to zrobić. Użyj następującego polecenia, aby uruchomić proces z określonym powinowactwem do procesora (ponownie/AFFINITY
argument został dodany tylko w systemie Windows 7):Gdzie
<mask>
należy zastąpić maską szesnastkową dla procesorów, które chcesz uruchomić (maska procesora jest tylko maską binarną włączającą / wyłączającą to powinowactwo, więc 00000101 włącza CPU0 i CPU2, a 00000010 tylko CPU1).Aby obliczyć wartość szesnastkową, możesz albo przekonwertować maskę binarną, albo wziąć sumę 2 do mocy rdzeni, na których chcesz uruchomić program (od 0), i przekonwertować tę wartość na szesnastkową.
Na przykład, jeśli mam system czterordzeniowy i chcę, aby proces był wykonywany tylko na CPU0 i CPU2, dodałbym 2 0 + 2 2 = 1 + 4 = 5. Konwertuj 5 na hex, który jest tylko 5, i ustaw to jako swoje
<mask>
. Możesz również po prostu przekonwertować 00000101 na heksadecymalny. Jeśli nie wiesz, jak przekonwertować te zasady, możesz po prostu skorzystać z tej tabeli konwersji .źródło
Wyłączenie Hyper-Threading jest sprawą związaną tylko z BIOS-em.
Zakładam, że chcesz wyłączyć Hyper-Threading, ponieważ masz aplikację, która nie jest zoptymalizowana pod kątem tej funkcji i może mieć obniżoną wydajność?
Patrząc na numerację procesora, rdzenie fizyczne są nieparzyste - więc w dwurdzeniowym systemie HT rdzenie 1 i 3 byłyby „prawdziwymi” procesorami. Jeśli wybierzesz 2 rdzenie w msconfig, 1 i 2 procesora zostaną włączone, więc będziesz mieć aktywny procesor fizyczny i logiczny (HT) - nie przyniesie to korzyści, jeśli masz problemy z oprogramowaniem, które ma problemy z HT.
źródło
W systemie Windows najłatwiejszym sposobem jest zmiana powinowactwa programu explorer.exe, ponieważ każdy uruchomiony z niego proces odziedziczy maskę powinowactwa. Nadal jest daleki od ideału, ale przynajmniej robisz to tylko raz na sesję.
źródło