Doküman

Linux’ta Intel Hyper-Threading’in etkin olup olmadığı nasıl kontrol edilir

Hyper-Threading, Intel’in x86 CPU işlemcilerinin yürütme paralelliğini geliştirmek için tasarlanmış eşzamanlı çoklu okuma (SMT) teknolojisidir. Hyper-Threading etkinleştirildiğinde, her bir fiziksel çekirdek, fiziksel çekirdeğin kaynaklarını paylaşırken her biri işleri aynı anda yürütebilen iki “mantıksal işlemci” olarak temsil edilir. Bir mantıksal işlemci durdurulduğunda veya kesintiye uğradığında, aynı çekirdekteki diğer mantıksal işlemci, durdurulan işlemciden kaynakları çalabilir. Bu nedenle, Hyper-Threading’in genel CPU verimini iyileştirmesi bekleniyor ve özellikle video kodlama, 3D işleme, oyun vb. gibi CPU ve G/Ç yoğun iş yüklerinin bir karışımını içeren çok kanallı uygulamalar için kullanışlıdır.

Linux sisteminizde Hyper-Threading’in etkin olup olmadığını kontrol etmek isterseniz, bunu yapmanın birkaç yolu vardır.

Birinci Yöntem: BIOS ayarları

Hyper-Threading, bir CPU işlemci özelliğidir. Bu nedenle, Hyper-Threading’in etkin olup olmadığını kontrol etmek için genellikle BIOS ayarlarını kullanmanız gerekir. BIOS menüsü farklı sistemlere göre değişir ve Hyper-Threading ayarı genellikle “Gelişmiş”, “İşlemciler” veya “Performans” ile ilgili ayarlar altında bulunur. Örneğin, Dell XPS 13 BIOS’taki Hyper-Threading denetimi aşağıda gösterilmiştir.

İkinci Yöntem: lscpu

Herhangi bir nedenle (örneğin, uzaktan erişim nedeniyle) sisteminizin BIOS menüsüne erişiminiz olmadığını varsayalım. Bu durumda, sisteminizin CPU mimarisi hakkında bilgi gösteren lscpu komutundan yararlanabilirsiniz. Özellikle, çıktısında çekirdek girişi başına Konu(lar) arayın. Bu girdi “1” diyorsa, çekirdek başına yalnızca bir iş parçacığı kullanılabilir demektir. Bu nedenle Hyper-Threading devre dışı bırakılır. “2” yazıyorsa, Hyper-Threading etkin demektir.

Bu nedenle, durumu kontrol etmek için aşağıdaki komutu kullanmanız yeterlidir.

$ lscpu | grep Thread

Üçüncü Yöntem: /sys/devices/system/cpu/smt/active

Hyper-Threading’in durumunu komut satırından kontrol etmenin başka bir yolu, /sys/devices/system/cpu/smt/active konumunda bulunan sözde dosyaya erişmektir. Hyper-Threading etkinse bu dosyanın içeriği 1 (veya açık), aksi takdirde 0 (veya kapalı) olacaktır.

$ cat /sys/devices/system/cpu/smt/active

Dördüncü Yöntem: dmidecode

Ayrıca, dmidecode komut satırı aracını kullanarak Hyper-Threading’in etkinleştirilip etkinleştirilmediğini de kontrol edebilirsiniz. -t işlemci ile çalıştırın ve çıktıdaki “Çekirdek Sayımı” ile “İş Parçacığı Sayımı” karşılaştırın. Bu iki sayı aynıysa, Hyper-Threading etkin değil demektir. “İş Parçacığı Sayısı”, “Çekirdek Sayısı”nın iki katıysa, Hyper-Threading’in etkinleştirildiği anlamına gelir.

$ sudo dmidecode -t processor | grep Count

Yazının orijinalini buradan okuyabilirsiniz.