내 컴퓨터의 출력은 lscpu
다음과 같습니다.
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 2
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 69
Stepping: 1
CPU MHz: 1200.093
BogoMIPS: 3392.08
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
NUMA node0 CPU(s): 0-3
이것은 CPU가 4개이고 코어가 2개라는 뜻인가요?
답변1
에서 man lscpu
:
CPU
Linux 커널에서 사용하는 CPU의 논리적 CPU 번호입니다.CORE
논리 코어 번호입니다. 코어에는 여러 CPU가 포함될 수 있습니다.SOCKET
논리적 소켓 번호입니다. 소켓에는 여러 코어가 포함될 수 있습니다.
그렇습니다. 하나의 물리적 소켓에 포함된 2개의 물리적 코어에 포함된 4개의 CPU가 있습니다.
에서 동일한 정보를 얻을 수 있습니다 cat /proc/cpuinfo
.
답변2
논리적 프로세서와 물리적 프로세서 간의 혼동을 피하기 위해
인텔은 다음을 가리킨다.물리적 프로세서로서소켓.
하이퍼스레딩기술을 통해 단일 프로세서 코어가 두 개의 독립적인 스레드를 동시에 실행할 수 있습니다.
하이퍼스레딩은 시스템 성능을 두 배로 늘리지는 않지만 유휴 리소스를 더 잘 활용하여 특정 중요한 작업 유형에 대한 처리량을 늘려 성능을 향상시킬 수 있습니다. 사용량이 많은 코어의 하나의 논리 프로세서에서 실행되는 애플리케이션의 처리량은 하이퍼스레딩되지 않은 프로세서에서 단독으로 실행될 때 달성되는 처리량의 절반보다 약간 더 클 것으로 예상됩니다.
일반화하다
- 시스템에 하나의 물리적 CPU가 있습니다(이름을 X로 지정하겠습니다).
- 하이퍼스레딩을 사용하면 CPU X가 두 개의 CPU(CPU - X1 및 CPU - X2)처럼 작동하지만 물리적으로는 그렇지 않습니다.
- 각 X1과 X2는 동시에 두 개의 스레드를 실행할 수 있습니다.동시에
전체적으로 4개의 스레드를 동시에 실행할 수 있는 물리적 프로세서가 있습니다.