GNU/Linux >> Belajar Linux >  >> Linux

Memeriksa apakah HyperThreading diaktifkan atau tidak?

Saya selalu menggunakan yang berikut ini dan melihat 'Utas per inti:'.

hostname:~ # lscpu
Architecture:          x86_64
CPU(s):                24
Thread(s) per core:    2                <-- here
Core(s) per socket:    6
CPU socket(s):         2
NUMA node(s):          2
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 44
Stepping:              2
CPU MHz:               1596.000
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              12288K

Perhatikan, bagaimanapun, teknik ini akan gagal jika ada prosesor logis yang telah dimatikan dengan sederhana

echo 0 > /sys/devices/system/cpu/cpuX/online

Catatan ditambahkan pada 8 Juli 2014: Seperti yang ditunjukkan Riccardo Murri, jawaban saya di bawah ini hanya menunjukkan apakah laporan prosesor mendukung hyperthreading. Umumnya, *nix O/S dikonfigurasikan untuk mengaktifkan hyperthreading jika didukung. Namun, untuk benar-benar memeriksa ini secara terprogram, lihat misalnya jawaban Nils!

---- Jawaban asli dari 25 Maret 2012:

Anda memang berada di jalur yang benar :) dengan

dmidecode -t processor | grep HTT

Di Linux, saya biasanya hanya mencari "ht" pada baris "flags" dari /proc/cpuinfo . Lihat misalnya

grep '^flags\b' /proc/cpuinfo | tail -1

atau jika Anda ingin memasukkan "ht" ke dalam pola

grep -o '^flags\b.*: .*\bht\b' /proc/cpuinfo | tail -1

(\b cocok dengan batas kata dan membantu menghindari positif palsu jika "ht" adalah bagian dari flag lain.)


Jika jumlah prosesor logis dua kali jumlah inti yang Anda miliki HT.Gunakan skrip berikut untuk mendekode /proc/cpuinfo :

#!/bin/sh
CPUFILE=/proc/cpuinfo
test -f $CPUFILE || exit 1
NUMPHY=`grep "physical id" $CPUFILE | sort -u | wc -l`
NUMLOG=`grep "processor" $CPUFILE | wc -l`
if [ $NUMPHY -eq 1 ]
  then
    echo This system has one physical CPU,
  else
    echo This system has $NUMPHY physical CPUs,
fi
if [ $NUMLOG -gt 1 ]
  then
    echo and $NUMLOG logical CPUs.
    NUMCORE=`grep "core id" $CPUFILE | sort -u | wc -l`
    if [ $NUMCORE -gt 1 ]
      then
        echo For every physical CPU there are $NUMCORE cores.
    fi
  else
    echo and one logical CPU.
fi
echo -n The CPU is a `grep "model name" $CPUFILE | sort -u | cut -d : -f 2-`
echo " with`grep "cache size" $CPUFILE | sort -u | cut -d : -f 2-` cache"

Linux
  1. Mengapa Cd Bukan Program?

  2. Untuk Env Atau Tidak Untuk Env?

  3. Aes-ni Tidak Lulus Menjadi Tamu Di Virtualbox?

  1. Mengapa Lpd Tidak Diaktifkan Secara Default Dalam Transmisi?

  2. Debian – Acl Tidak Diaktifkan Tapi Berfungsi?

  3. Cpu Gratis, Namun Bash Script Tidak Menggunakan Semua Sumber Daya CPU?

  1. id:perintah tidak ditemukan

  2. w:perintah tidak ditemukan

  3. df:perintah tidak ditemukan