Windows 7 kayıt defterinde Hyperthreading özelliğini devre dışı bırakma


18

Bazı bios'lar CPU'nun Hyperthreading özelliğini devre dışı bırakma seçeneğiniz yok, Windows 7 Kayıt Defterinde devre dışı bırakmanın bir yolu var mı? Yoksa bir araç veya yazılım mı?

Msconfig önyükleme sekmesini (gelişmiş seçenekler) ve orada işlemcileri devre dışı bırakmayı biliyorum, tam çekirdekleri veya hyperthreads'yi devre dışı bırakıp bırakmadığını veya nasıl söyleyeceğini bilmiyorum.

32bit veya 64bit Windows 7

DÜZENLE:

Hiper iş parçacıklı çift çekirdekli veya daha fazla olduğunu varsayalım.

Aygıt yöneticisinde i5 Intel İşlemcimde 4 işlemci gösterir ve bunları devre dışı bırakamazsınız, dang.


5
Bunun ayın imkansız sorusu olduğunu düşünüyorum.
Moab

Gerçekten BIOS'ta devre dışı bırakamıyor musunuz? En son sürüm mü?
KCotreau

2
Sürümüne bakılmaksızın sakat bioslar için iyi bilinen bir HP PC.
Moab

1
Tüm i5 Cipsleri eşit olarak oluşturulmaz, bazılarında 4 fiziksel çekirdek ve Hiper iş parçacığı devre dışı bırakılırken, bazılarında 2 çekirdek ve Hiper iş parçacığı etkin - genellikle not defterlerinde Hiper iş parçacığı kullanma ve Masaüstü yongaları dört çekirdekli bir değişken olma olasılığı daha yüksektir. Masaüstü veya Dizüstü Bilgisayar mı kullanıyorsunuz ve i5 modelini biliyor musunuz?
Dustin G.4

Hyperthreading için fazla endişelenmezdim. P4'ten bu yana büyük gelişmeler kaydetti. Bugünlerde performansı emmiyor.
surfasb

Yanıtlar:


3

Gönderen Intel Core İşlemci veri sayfası, Cilt 1 , sayfa 38:

Intel Hyper-Threading Teknolojisi

[...] Bu özellik BIOS kullanılarak etkinleştirilmelidir ve işletim sistemi desteği gerektirir.

Bunun nedeni, hiper iş parçacığının CPU kalıbındaki gerçek fiziksel donanım olmasıdır ve bu nedenle yalnızca donanım düzeyinde etkinleştirilebilir / devre dışı bırakılabilir .

Hangi uygulamanın hyperthreading ile iyi çalışmadığını biliyorsanız, XP'niz varsa StartAffinity gibi bir araç kullanabilirsiniz .

Windows 7 kullanıyorsanız, startbunu yapabilen yerleşik bir komut vardır. Belirli bir işlemci benzeşimine sahip bir işlemi başlatmak için aşağıdaki komutu kullanın (yine, /AFFINITYargüman yalnızca Windows 7'de eklenmiştir):

start /AFFINITY <mask> "C:\yourprogram.exe" 

Nerede <mask>çalıştırmak istediğiniz işlemciler için onaltılı maske ile değiştirilmelidir (işlemci maskesi sadece bu yakınlığı etkinleştiren / devre dışı bırakan ikili bir maskedir, bu nedenle 00000101 CPU0 ve CPU2'yi ve 00000010 sadece CPU1'i etkinleştirir).

Onaltılık değeri hesaplamak için, ikili maskeyi dönüştürebilir veya 2 toplamını programı çalıştırmak istediğiniz çekirdeklerin gücüne (0'dan başlayarak) alabilir ve bu değeri onaltılık biçime dönüştürebilirsiniz.

Örneğin, dört çekirdekli bir sistemim varsa ve işlemin yalnızca CPU0 ve CPU2'de yürütülmesini istiyorsanız, 2 0 + 2 2 = 1 + 4 = 5 eklerim. 5'i yalnızca 5 olan altıgene dönüştürün ve bunu sizin olarak ayarlayın <mask>. Ayrıca 00000101'i hex'e de dönüştürebilirsiniz. Bu bazları nasıl dönüştüreceğinizi bilmiyorsanız, bu dönüşüm tablosunu kullanabilirsiniz .


Afiniteyi anlıyorum, ama bu bir hyperthread'i değil, sadece tam bir çekirdeği devre dışı bırakacak. OS içinde kabul edilemez olduğunu düşünmüyorum Sadece hiper iş parçacığı, sadece bios'ta, ancak bazı bioslar bu seçeneğe sahip değil, çoğunlukla HP bilgisayarlarda, birinin bana yanlış olduğunu umabileceğini umuyordum.
Moab

1
Her fiziksel çekirdek işletim sisteminde iki mantıksal çekirdek olarak görünür. Bu mantıksal çekirdeklerden birini devre dışı bırakırsanız , yönergeler yalnızca iki mantıksal çekirdekten birine gönderildiği için hiper iş parçacığını etkin bir şekilde devre dışı bırakırsınız, bu nedenle gerçekten hiper iş parçacığı yapılmaz - komut kuyruğu doğrudan fiziksel çekirdeğe gönderilir.
Atılım

Anlıyorum, ama sadece bir çekirdek için hiper iş parçacığını devre dışı bırakıyor. Disabledkisi de engelli.
Moab

1
@Moab Daha sonra, yukarıda listelediğim maskeleri kullanarak tüm çift veya tek numaralı çekirdeklerin birbirlerini devre dışı bırakmasını etkinleştirirsiniz. Bu nedenle, dört mantıksal çekirdeğiniz varsa, yalnızca CPU0 ve CPU2'yi etkin olarak ayarlamak için hexmask olarak 00000101 veya 5'i altıgen kullanın. 8 mantıksal çekirdeğiniz varsa, bit maskeniz 01010101 veya onaltılı 55'tir (yalnızca CPU0, 2, 4 ve 6'yı etkinleştirmek için).
Atılım

2
@Moab, diğer her çekirdeği devre dışı bıraktığınız sürece teknik olarak önemli değildir. Her iki mantıksal çekirdek seti, tek bir fiziksel çekirdek için iplik işleyicilerini oluşturur.
Atılım

2

Hiper iş parçacığının devre dışı bırakılması yalnızca BIOS ile ilgili bir durumdur.

Bu özellik için optimize edilmemiş ve performansınız düşmüş olabilecek bir uygulamanız olduğundan Hyper-Threading'i devre dışı bırakmak istediğinizi varsayıyorum?

CPU numaralandırmasına bakıldığında, fiziksel çekirdekler tek sayılıdır - bu nedenle çift çekirdekli, HT sisteminde, çekirdek 1 ve 3 "gerçek" CPU'lar olacaktır. Msconfig içinde 2 çekirdek seçerseniz, CPU 1 ve 2 etkinleştirilir, böylece Fiziksel ve Mantıksal (HT) CPU etkin olursunuz - HT ile ilgili sorunları olan yazılımlarla ilgili sorun yaşıyorsanız bu size fayda sağlamaz.


Evet ama ... CPU 1 ve 3'e yakınlık belirlemek için Görev Yöneticisi'ni kullanabilirsiniz
Ben Voigt

Dustin G, ben de öyle düşünmüştüm, ama bu konuda herhangi bir makale bulmak neredeyse imkansız. Teşekkürler.
Moab

0

Windows'da, en kolay yol explorer.exe'nin benzeşimini değiştirmektir, çünkü bundan başlatılan her işlem benzeşim maskesini devralır. Hala mükemmel olmaktan uzak ama en azından bunu her seansta sadece bir kez yapıyorsunuz.


Süreç yakınlığı Hyperthreading ile aynı şey olmadığından, bunun soruyu cevapladığından emin değilim.
Doktoro Reichard

Neyse ki, işler emin olduğunuzdan veya bilmediğinizden değil, MSDN'de nasıl belirtildiklerine (örneğin) msdn.microsoft.com/en-us/library/windows/desktop/… GetLogicalProcessorInformation, işlemin fiziksel / mantıksal işlem gerçekleştirme yakınlıklarını verir işlemciler (bu kesin bir yol). 2-mantıksal çekirdekli SMT (hiper-iş parçacığı gibi) hiper-işlevli sistemlerde Core # 0, bit 0 ve 1, afinite maskesinin vb. Core # 1 bit 2 ve 3'dür (bu ampirik bir yoldur). Sadece sezgileriniz olan şeyleri küçümsemekten kaçınırsanız minnettar olurum ...
E. Attia
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.