Saya merasa bahwa hyperthreading tidak diaktifkan di pc saya. Saya melihat ke dalam /proc/cpuinfo
dan dijelaskan bahwa saudara kandung memiliki jumlah yang sama dari cpu core. Ini berarti bahwa hyperthreading tidak diaktifkan. Bagaimana saya bisa mengaktifkannya?
Entri bagian dari /proc/cpuinfo
:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
stepping : 6
cpu MHz : 2997.000
cache size : 6144 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
sumber
Jalankan
top
di terminal, tekan nomor1
di keyboard Anda untuk menampilkan beban per cpu di header, berapa banyak CPU yang dijelaskan di sana?Jika mereka adalah dua kali lipat dari core yang sebenarnya dalam CPU hyphreading Anda berfungsi sebagaimana mestinya.
sumber
Untuk mendeteksi jika Anda menggunakan hyperthreading (alias Intel Hyperthreading Technology), Anda dapat menggunakan dmidecode .
Di terminal:
Cari nilai Status dari Populated, Enabled (ditampilkan di bawah di antara * ... *) yaitu "Diaktifkan" berarti bahwa hyperthreading aktif
Dalam CPU logis Hyperthreaded Anda akan melihat nilai Status tidak berpenghuni (ditampilkan di bawah antara * ... *):
sumber
sumber
dmidecode | grep -i popula
juga dicetakStatus: Populated, Enabled
. Lihat juga jawaban saya .di hasil dmidecode, Anda bisa mendapatkan sesuatu seperti
di server dengan utas hiper diatur ke ON
atau
pada yang diatur ke OFF
sumber
Thread Count
tidak berubah jika hiparfreading dinonaktifkan, mis. Pada sistem i7-6600U dengandmidecode | grep '\(Core\|Thread\).*:'
cetakan hipertransmisi dinonaktifkanCore Count: 2 Core Enabled: 2 Thread Count: 4
.Spoiler: CPU Anda tidak mendukung hyperthreading .
Sebuah alternatif untuk konsultasi database CPU vendor adalah untuk memeriksa
/proc/cpuinfo
untukht
bendera:Bahkan jika hyperthreading dinonaktifkan di BIOS, flag harus dimasukkan dalam output itu.
Untuk memeriksa apakah hyperthreading benar-benar diaktifkan, Anda dapat berkonsultasi dengan file pseudo lain :
Nilai yang mungkin adalah:
on|off|forceoff|notsupported|notimplemented
Anda dapat mengaktifkan / menonaktifkan hyperthreading dengan menulis
on
/off
ke file pseudo itu, misalnya:Tentu saja, ini tidak akan berhasil jika yang
cat
sebelumnya dicetakforceoff|notsupported|notimplemented
.Biasanya, hyperthreading diaktifkan, secara default. Dan jika dinonaktifkan biasanya dilakukan di BIOS. Jika dinonaktifkan di BIOS, file pseudo kemungkinan berisi
forceoff
dan Anda harus mengubah pengaturan di BIOS.sumber