CPU 번호가 순차적으로 지정되지 않는 이유는 무엇입니까?

CPU 번호가 순차적으로 지정되지 않는 이유는 무엇입니까?

저는 아치 리눅스를 사용하고 있습니다

Linux JamesPC 4.10.11-1-ARCH #1 SMP PREEMPT Tue Apr 18 08:39:42 CEST 2017 x86_64 GNU/Linux

내 시스템 모니터에 갑자기 CPU가 하나만 표시되는 이유를 알아내려고 하는 동안(6개가 있어야 하는데): 여기에 이미지 설명을 입력하세요

시스템 모니터가 제대로 작동하지 않는 원인이 될 수 있는 이상한 점을 발견했습니다.

고양이 /proc/cpuinfo:

[gilmoreja@JamesPC ~]$ cat /proc/cpuinfo
processor   : 0
vendor_id   : AuthenticAMD
cpu family  : 21
model       : 1
model name  : AMD FX(tm)-6100 Six-Core Processor
stepping    : 2
microcode   : 0x600063d
cpu MHz     : 3311.103
cache size  : 2048 KB
physical id : 0
siblings    : 6
core id     : 0
cpu cores   : 3
apicid      : 16
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 nodeid_msr topoext perfctr_core perfctr_nb cpb hw_pstate vmmcall arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
bugs        : fxsave_leak sysret_ss_attrs null_seg
bogomips    : 6624.13
TLB size    : 1536 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb

processor   : 3
vendor_id   : AuthenticAMD
cpu family  : 21
model       : 1
model name  : AMD FX(tm)-6100 Six-Core Processor
stepping    : 2
microcode   : 0x600063d
cpu MHz     : 3311.103
cache size  : 2048 KB
physical id : 0
siblings    : 6
core id     : 1
cpu cores   : 3
apicid      : 17
initial apicid  : 1
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 nodeid_msr topoext perfctr_core perfctr_nb cpb hw_pstate vmmcall arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
bugs        : fxsave_leak sysret_ss_attrs null_seg
bogomips    : 6623.14
TLB size    : 1536 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb

processor   : 4
vendor_id   : AuthenticAMD
cpu family  : 21
model       : 1
model name  : AMD FX(tm)-6100 Six-Core Processor
stepping    : 2
microcode   : 0x600063d
cpu MHz     : 3311.103
cache size  : 2048 KB
physical id : 0
siblings    : 6
core id     : 2
cpu cores   : 3
apicid      : 18
initial apicid  : 2
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 nodeid_msr topoext perfctr_core perfctr_nb cpb hw_pstate vmmcall arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
bugs        : fxsave_leak sysret_ss_attrs null_seg
bogomips    : 6623.22
TLB size    : 1536 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb

processor   : 5
vendor_id   : AuthenticAMD
cpu family  : 21
model       : 1
model name  : AMD FX(tm)-6100 Six-Core Processor
stepping    : 2
microcode   : 0x600063d
cpu MHz     : 3311.103
cache size  : 2048 KB
physical id : 0
siblings    : 6
core id     : 3
cpu cores   : 3
apicid      : 19
initial apicid  : 3
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 nodeid_msr topoext perfctr_core perfctr_nb cpb hw_pstate vmmcall arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
bugs        : fxsave_leak sysret_ss_attrs null_seg
bogomips    : 6623.22
TLB size    : 1536 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb

processor   : 6
vendor_id   : AuthenticAMD
cpu family  : 21
model       : 1
model name  : AMD FX(tm)-6100 Six-Core Processor
stepping    : 2
microcode   : 0x600063d
cpu MHz     : 3311.103
cache size  : 2048 KB
physical id : 0
siblings    : 6
core id     : 4
cpu cores   : 3
apicid      : 20
initial apicid  : 4
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 nodeid_msr topoext perfctr_core perfctr_nb cpb hw_pstate vmmcall arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
bugs        : fxsave_leak sysret_ss_attrs null_seg
bogomips    : 6623.23
TLB size    : 1536 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb

processor   : 7
vendor_id   : AuthenticAMD
cpu family  : 21
model       : 1
model name  : AMD FX(tm)-6100 Six-Core Processor
stepping    : 2
microcode   : 0x600063d
cpu MHz     : 3311.103
cache size  : 2048 KB
physical id : 0
siblings    : 6
core id     : 5
cpu cores   : 3
apicid      : 21
initial apicid  : 5
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 nodeid_msr topoext perfctr_core perfctr_nb cpb hw_pstate vmmcall arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
bugs        : fxsave_leak sysret_ss_attrs null_seg
bogomips    : 6623.22
TLB size    : 1536 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb

lscpu:

[gilmoreja@JamesPC ~]$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                6
On-line CPU(s) list:   0,3-7
Thread(s) per core:    2
Core(s) per socket:    3
Socket(s):             1
NUMA node(s):          1
Vendor ID:             AuthenticAMD
CPU family:            21
Model:                 1
Model name:            AMD FX(tm)-6100 Six-Core Processor
Stepping:              2
CPU MHz:               3311.103
BogoMIPS:              6624.13
Virtualization:        AMD-V
L1d cache:             16K
L1i cache:             64K
L2 cache:              2048K
L3 cache:              8192K
NUMA node0 CPU(s):     0,3-7
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 nodeid_msr topoext perfctr_core perfctr_nb cpb hw_pstate vmmcall arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold

내 CPU는 순차적으로 나열되지 않고 대신 0, 3, 4, 5, 6, 7로 번호가 매겨져 있습니다.

CPU 번호가 순차적으로 지정되지 않는 이유는 무엇입니까? 어떻게 고칠 수 있나요?

답변1

Linux 커널은 시스템의 APIC 테이블에 나열된 각 CPU에 CPU 번호를 할당합니다(참조:CPU 테이블 덤프 명령). 테이블에는 각 코어에 대한 "활성화" 비트가 포함되어 있습니다. FX-6100은 실제로 8코어 프로세서로 제조되지만 AMD에서는 2코어를 비활성화합니다.톰샤드웨어 라고 "잠베지 기반 FX 프로세서 7개 모두 동일한 실리콘을 사용합니다. 프로세서 중 일부에는 불도저 모듈 1개가 비활성화되어 있고 일부는 꺼져 있습니다."이는 하나의 코어가 QA에 실패할 때 수행될 수 있습니다. 8코어 프로세서에서는 일부 코어가 비활성화되어도 여전히 낮은 사양 부품으로 판매될 수 있습니다.

비활성화되는 두 개의 코어는 코어 "0, 3, 4, 5, 6 및 7"이 작동한다는 설명과 일치합니다. 코어 1과 2는 존재하지만 APIC 테이블에서는 비활성화됩니다. 테이블을 덤프하고 이를 확실히 확인할 수 있는 FX-6100이 없지만 그럴 듯한 설명인 것 같습니다.

관련 정보