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
両方nproc
とCPU(s)
行は次lscpu
のとおりです。総スレッド数。
したがって、スレッドの総数を取得する必要があります。
num_cpus=$(nproc)