총 코어 및 스레드 수를 얻는 방법

총 코어 및 스레드 수를 얻는 방법

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)

관련 정보