すべての人が知っているように、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
nproc
とlscpu
のCPU(s)
行はどちらもスレッドの総数です。
したがって、スレッドの総数を取得するために必要なのは次のとおりです。
num_cpus=$(nproc)