コアとスレッドの総数を取得する方法

コアとスレッドの総数を取得する方法

lscpu は、コア数とスレッド数に関する情報を提供することが知られています。

lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                48
On-line CPU(s) list:   0-47
Thread(s) per core:    2

総数を教えるコマンドを探しています。

(コア数) X (スレッド数) = 96

したがって、出力は上記のようになります = 96 CPU

私たちはできます

 CORE=` nproc --all `
 THREAD=`  lscpu | grep -i Thread | awk '{print $NF}' `

そして

echo "$(( $CORE*$THREAD ))"

しかし、それはエレガントな方法ではありません。

それとも別のエレガントな方法がありますか?

私たちもこれを試しましたが、合計96のコアを獲得できませんでした。

num_cpus=$(nproc)
# echo $num_cpus
48

答え1

両方nprocCPU(s)行は次lscpuのとおりです。総スレッド数

したがって、スレッドの総数を取得する必要があります。

num_cpus=$(nproc)

関連情報