답변:
물리적 코어는 CPU 내의 물리적 코어입니다. 논리 코어는 단일 코어가 2 개 이상의 작업을 동시에 수행 할 수있는 능력입니다. 이것은 초기 Pentium 4 CPU에서 하이퍼 스레딩 (HTT) 이라는 기능을 수행 할 수있게되었습니다 .
코어의 하위 구성 요소가 특정 유형의 명령에 사용되지 않은 동안 다른 장기 실행 명령이 실행되었을 수있는 게임이었습니다. 따라서 CPU는 실제로 두 가지 작업을 동시에 수행 할 수 있습니다.
최신 코어는 본격적인 CPU이므로 여러 가지 작업을 동시에 수행하지만 실제 코어와 같은 진정한 CPU는 아닙니다. 이 기사의 제목 : 인텔 코어 i5 및 코어 i7 : 인텔의 메인 스트림 매그넘 Opus 에서 하이퍼 스레딩 기능과 코어의 물리적 기능에 대한 제한 사항에 대한 자세한 내용을 볼 수 있습니다 .
다음 lscpu
명령을 사용하여 상자의 분류를 볼 수 있습니다 .
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
CPU(s): 4
Thread(s) per core: 2
Core(s) per socket: 2
CPU socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 37
Stepping: 5
CPU MHz: 2667.000
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
NUMA node0 CPU(s): 0-3
위의 인텔 i5 랩탑에는 총 4 개의 "CPU"가 있습니다.
CPU : 4
그 중 2 개의 물리적 코어가 있습니다
소켓 당 코어 : 2
각각 최대 2 개의 스레드를 실행할 수 있습니다
코어 당 스레드 수 : 2
동시에. 이 스레드는 핵심의 논리적 기능입니다.
lscpu
는 여기에 노출됩니다 cat /proc/cpuinfo
. 당신의 OS는 무엇입니까?
Core(s) per socket
시간 Thread(s) per core: 2
= CPU(s): 4
? 옳은?
물리적 코어는 물리적 코어, 실제 하드웨어 구성 요소의 수입니다.
논리 코어는 물리적 코어 수에 하이퍼 스레딩을 사용하여 각 코어에서 실행할 수있는 스레드 수를 곱한 것입니다.
예를 들어, 4 코어 프로세서는 코어 당 2 개의 스레드를 실행하므로 8 개의 논리 프로세서가 있습니다.
하이퍼 스레딩 기술을 사용하면 단일 물리적 프로세서 코어가 두 개의 논리 프로세서처럼 작동 할 수 있습니다.
따라서 단일 프로세서 코어가 두 개의 독립적 인 스레드를 동시에 실행할 수 있습니다 .
인텔은 물리적 프로세서를 소켓이라고합니다.
하이퍼 스레딩을 사용하면 물리적 프로세서가 논리적 프로세서라고하는 두 개의 물리적 프로세서가있는 것처럼 작동합니다. 왜?
하이퍼 스레딩은 시스템 성능을 두 배로 늘리지는 않지만 유휴 리소스를 더 잘 활용하여 성능을 향상시켜 특정 중요한 워크로드 유형에 대한 처리량을 높일 수 있습니다. 사용중인 코어의 하나의 논리 프로세서에서 실행되는 응용 프로그램은 비스 레드 스레드 프로세서에서 단독으로 실행하는 동안 얻는 처리량의 절반 이상을 기대할 수 있습니다.
물리적 프로세서는 우리가보고 넘어 질 수 있다는 것입니다.
논리 프로세서는 두 개의 물리적 코어 역할을 하는 Phsical Core 와 같습니다.
$ sudo dmidecode |egrep "Socket Designation: Proc|((Thread|Core) Count)"
Socket Designation: Proc 1
Core Count: 14
Thread Count: 28
Socket Designation: Proc 2
Core Count: 14
Thread Count: 28
두 개의 소켓. 각 소켓에는 14 개의 물리적 코어가 있습니다. 각 코어에는 2 개의 스레드 (28/14)가 있습니다. 논리적 "cpus"또는 논리적 처리 장치의 총 수는 56 개입니다 ( "top"및 다른 명령은 "cpus"의 수로 표시합니다).
lscpu shows CPUs 4 and threads per 2 (=8) but
-C cpu`가 lshw 보여줍니다 (16) 논리적 CPU의 0 번호 - 15
lscpu
출력을 잘못 해석 한 것으로 보이며 실제로 총 4 개의 스레드이지만 "lshw -C cpu`는 16 개의 논리 CPU를 보여줍니다"라는 것을 잘 모르겠습니다.
lscpu
됐나가 어떤 다른 도구를?