다음 명령을 실행하고 있습니다.
cat /proc/cpuinfo | /bin/egrep 'processor|model name|cache size|core|sibling|physical'
그러면 다음과 같은 출력이 제공됩니다.
processor : 0
model name : Intel(R) Xeon(R) CPU E5520 @ 2.27GHz
cache size : 8192 KB
physical id : 0
siblings : 8
core id : 0
cpu cores : 4
address sizes : 40 bits physical, 48 bits virtual
processor : 1
model name : Intel(R) Xeon(R) CPU E5520 @ 2.27GHz
cache size : 8192 KB
physical id : 0
siblings : 8
core id : 1
cpu cores : 4
address sizes : 40 bits physical, 48 bits virtual
ht
따라서 전체 cpuinfo 출력의 플래그와 형제가 CPU 코어의 두 배이기 때문에 하이퍼스레딩이 켜져 있음을 알 수 있습니다.
이것은 HT가 활성화된 물리적 쿼드 코어 프로세서만 있고 그게 다라는 뜻입니까?
왜 프로세서 레코드가 2개(코어 ID 0과 1)만 나열되는지 잘 모르겠습니다. 코어 2와 코어 3에 대한 또 다른 2개의 레코드가 있어야 하지 않나요?
*참고: lscpu를 실행하면 "CPU 수를 확인할 수 없습니다" 오류가 발생합니다.
답변1
위 출력에서 cat /proc/cpuinfo
다음 정보를 볼 수 있습니다.
physical id : 0
siblings : 8
core id : 0
cpu cores : 4
이거 봐요인텔프로세서 사양 페이지에 프로세서에 코어가 4개 있는 것이 분명하게 나와 있습니다. 그래서 cpuinfo
맞습니다.
또한 피어 수가 8개이고 CPU 코어 수가 4개임을 알 수 있습니다. CPU 코어 수 4는 프로세서의 총 코어 수입니다.
대부분의 새로운 프로세서는 전력과 배터리를 절약하도록 설계되었습니다. 즉, 모든 코어가 동시에 실행될 필요가 없습니다. 의 내용은 /proc/cpuinfo
구현에 따라 다소 다르며 오해의 소지가 있으므로 하드웨어 정보를 올바르게 보고할 필요가 없습니다. 실제로 /proc/cpuinfo
이 곳은 Linux에서 보유하고 있는 하드웨어에 대한 완전한 정보를 얻을 수 있는 몇 안 되는 곳 중 하나입니다.
정확한 CPU 수를 계산하려면 [nproc][1]
coreutils의 명령을 사용하십시오. 이 명령은 현재 프로세스에 사용 가능한 처리 장치 수를 인쇄합니다.
설치된 모든 코어/프로세서 수를 찾으려면 다음 명령을 실행하십시오.nproc다음과 같이:
nproc --all
--all print the number of installed processors
/proc/cpuinfo
프로세서 수에 대한 자세한 내용을 보려면 다음을 방문하십시오.여기