web-dev-qa-db-ja.com

コアインクルードスレッドの総数を取得する方法

すべての人が知っているように、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

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

私たちはとしてすることができます

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

そして

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

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

または多分他のエレガントなアプローチ?

これも試してみます(ただし、合計96コアは取得しません)

num_cpus=$(nproc)
# echo $num_cpus
48
1
yael

nproclscpuCPU(s)行はどちらもスレッドの総数です。

したがって、スレッドの総数を取得するために必要なのは次のとおりです。

num_cpus=$(nproc)
0
Rafael Kitover