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)