Linux
如何獲得總核心數包括執行緒
眾所周知,lscpu 提供有關 CORE 數量和執行緒數量的資訊
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
nproc
和中的行CPU(s)
都是執行緒總數。lscpu
所以你需要得到的執行緒總數是:
num_cpus=$(nproc)