'이 컴퓨터 정보'와 /cpu/cpuinfo의 CPU 번호가 다릅니다.

'이 컴퓨터 정보'와 /cpu/cpuinfo의 CPU 번호가 다릅니다.

질문:

프로세서 수에 대해 두 가지 다른 정보가 나타나는 원인이 무엇인지 묻고 싶습니다. 아래 보고서를 참조하세요.

시스템 대화상자:

시스템 설정/세부 정보 탭(로그아웃 휠 및 이 컴퓨터 정보와 동일)을 열면 다음 내용이 보고됩니다.

프로세서: Intel® Xeon(R) CPU E5-2680 v3 @ 2.50GHz × 16


CLI: CPU정보(1)

그럼에도 불구하고 명령줄 명령을 사용하면 다음과 같은 결과를 얻습니다.

$ cat /proc/cpuinfo | grep processor | wc -l
24

나는 명령줄 보고서를 믿는 경향이 있습니다. 하지만 무엇이 다를 수 있습니까?

FIY: 시스템 모니터에는 24개 코어에 대한 통계도 표시됩니다.


CLI: CPU정보(2)

의견에서 제안한 대로 다음 명령줄도 실행했습니다.

$ cat /proc/cpuinfo |grep 'core id'|sort|uniq|wc -l
12

이제 세 번째 결과도 얻었습니다! 이는 2개의 프로세서가 포함된 12개의 코어가 컴퓨터에 있을 수 있다는 점에서 의미가 있습니다. 하지만 시스템 대화 상자에서 16개를 계산하는 것이 어떻게 가능합니까?

답변1

내 생각에 CPU 코어는 Symmetric MultiProcessing(SMP).

여기에 이미지 설명을 입력하세요

인텔 코어 2 듀오물리적 레이아웃을 보여주는 다이어그램. 여기에 이미지 설명을 입력하세요


시스템의 CPU 정보는 디렉토리에 저장됩니다 /proc. lscpu아래와 같이 소프트웨어를 통해 깔끔하게 표시될 수 있습니다 . 대조를 위해 2개의 CPU 코어가 있는 데스크탑, 48개가 있는 서버, 4개가 있는 Raspberry Pi의 세 가지 예를 제시합니다.

데스크탑 컴퓨터
사용자@호스트 이름:~$ lscpu
아키텍처: x86_64
CPU 연산 모드: 32비트, 64비트
바이트 순서: 리틀 엔디안
CPU: 2
온라인 CPU 목록: 0,1
코어당 스레드: 1
소켓당 코어: 2
소켓: 1
NUMA 노드: 1
공급업체 ID: GenuineIntel
CPU 제품군: 6
모델: 60
스테핑: 3
CPU MHz: 800.000
보고MIPS: 5586.94
가상화: VT-x
L1d 캐시: 32K
L1i 캐시: 32K
L2 캐시: 256K
L3 캐시: 2048K
NUMA node0 CPU: 0,1

섬기는 사람
사용자@호스트 이름% lscpu
아키텍처: x86_64
CPU 연산 모드: 32비트, 64비트
바이트 순서: 리틀 엔디안
CPU: 48
온라인 CPU 목록: 0-47
코어당 스레드: 2
소켓당 코어: 12
소켓: 2
NUMA 노드: 1
공급업체 ID: GenuineIntel
CPU 제품군: 6
모델: 62
스테핑: 4
CPU MHz: 1799.724
보고MIPS: 3600.09
가상화: VT-x
L1d 캐시: 32K
L1i 캐시: 32K
L2 캐시: 256K
L3 캐시: 30720K
NUMA node0 CPU: 0-47

라즈베리 파이
jeff@clear-pi:~ $ lscpu
아키텍처: armv7l
바이트 순서: 리틀 엔디안
CPU: 4
온라인 CPU 목록: 0-3
코어당 스레드: 1
소켓당 코어: 4
소켓: 1
모델명: ARMv7 프로세서 개정판 5(v7l)
CPU 최대 MHz: 900.0000
CPU 최소 MHz: 600.0000

서버 총계는 48개이지만, 거기에 도달하려면 곱해야 하는 3개의 숫자가 있습니다.2*12*2=48. 이런 식으로 비교하면 CPU 제조업체 배치 차이가 확연히 드러납니다.

데스크탑
[코어당 스레드: 1] * [소켓당 코어: 1] * [소켓: 1] = 2

섬기는 사람
[코어당 스레드: 2] * [소켓당 코어: 12] * [소켓: 2] = 48

라즈베리 파이
[코어당 스레드: 1] * [소켓당 코어: 4] * [소켓: 1] = 4  

lshw더 많은 시스템 정보가 있지만 여기서는 그다지 도움이 되지 않습니다.

데스크탑 컴퓨터
사용자@호스트 이름:~$ sudo lshw
     *-cpu
          설명: CPU
          제품: Intel(R) Celeron(R) CPU G1840 @ 2.80GHz
          공급업체: Intel Corp.
          실제 ID: 9
          버스 정보: CPU@0
          버전: Intel(R) Celeron(R) CPU G1840 @ 2.80GHz
          슬롯: 소켓 0
          크기: 2800MHz
          용량: 3800MHz
          너비: 64비트
          클럭: 100MHz

섬기는 사람
사용자@호스트 이름% sudo lshw
     *-cpu:0
          설명: CPU
          제품: Intel(R) Xeon(R) CPU E5-2651 v2 @ 1.80GHz
          공급업체: Intel Corp.
          물리적 ID: 4
          버스 정보: CPU@0
          버전: Intel(R) Xeon(R) CPU E5-2651 v2 @ 1.80GHz
          슬롯: 소켓 0
          크기: 1800MHz
          용량: 4GHz
          너비: 64비트
          클럭: 100MHz

라즈베리 파이
사용자@호스트 이름:~ $ sudo lshw
*-cpu:0
          설명: CPU
          생성물: CPU
          물리적 ID: 0
          버스 정보: CPU@0
          크기: 900MHz
          용량: 900MHz
          능력: CPUFreq

마지막으로 이 방법은 lscpu를 사용할 수 없는 여러 Linux/UNIX 운영 체제에서 효과적이었습니다. 질문과 댓글에서 제안한 내용의 변형이지만 저는 단축 명령과 간단한 출력을 선호합니다.

user@hostname:~ $ grep -c ^processor /proc/cpuinfo
4

참조:가상을 포함한 CPU 코어 수를 찾는 방법은 무엇입니까?

참조:https://stackoverflow.com/questions/6481005/how-to-obtain-the-number-of-cpus-cores-in-linux-from-the-command-line

참조:https://stackoverflow.com/questions/19225859/difference-between-core-and-processor

관련 정보