질문:
프로세서 수에 대해 두 가지 다른 정보가 나타나는 원인이 무엇인지 묻고 싶습니다. 아래 보고서를 참조하세요.
시스템 대화상자:
시스템 설정/세부 정보 탭(로그아웃 휠 및 이 컴퓨터 정보와 동일)을 열면 다음 내용이 보고됩니다.
프로세서: 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/19225859/difference-between-core-and-processor