[SOLVED] missing cpu core

Fórumok

12 ubuntu verziót frissítettem egy szerveren (újratelepítéssel) és újratelepítés után nagyon úgy tűnik, hogy 4 core helyett csak 1 van. legalább is a rendszer ennyit mutat. ez feature vagy valami beállítás hiányzik? (máshol is fut ez a verzió, de ott nem tapasztaltam ilyen hibát)

# cat /proc/cpuinfo

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
stepping : 11
microcode : 0xb6
cpu MHz : 2399.462
cache size : 4096 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc up arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm dtherm tpr_shadow vnmi flexpriority
bogomips : 4798.92
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

# ls -ld /sys/devices/*/*CPU*
drwxr-xr-x 3 root root 0 márc 9 03:52 /sys/devices/LNXSYSTM:00/LNXCPU:00
drwxr-xr-x 3 root root 0 márc 9 03:52 /sys/devices/LNXSYSTM:00/LNXCPU:01
drwxr-xr-x 3 root root 0 márc 9 03:52 /sys/devices/LNXSYSTM:00/LNXCPU:02
drwxr-xr-x 3 root root 0 márc 9 03:52 /sys/devices/LNXSYSTM:00/LNXCPU:03

vajon, hova lett 3 és miért csak egyet lát a rendszer?

Hozzászólások

A listázott könyvtárakban található "sysdev" nevezetű symlink?

Esetleg tedd fel a teljes dmesg-et pastebin-re (előtte vmlinuz parancssorba ignore_loglevel).

/sys/devices/LNXSYSTM:00/LNXCPU:00 -ban van, ide mutat: /sys/devices/system/cpu/cpu0 ami a hiba fényében elég logikusnak tűnik.

# dmesg | grep cpu -i
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] KERNEL supported cpus:
[ 0.000000] Transmeta TransmetaCPU
[ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[ 0.000000] SMP: Allowing 1 CPUs, 0 hotplug CPUs
[ 0.000000] setup_percpu: NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:1 nr_node_ids:1
[ 0.000000] PERCPU: Embedded 14 pages/cpu @f7be3000 s34176 r0 d23168 u57344
[ 0.000000] pcpu-alloc: s34176 r0 d23168 u57344 alloc=14*4096
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Initializing CPU#0
[ 0.000000] SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] CPU 0 irqstacks, hard=f4c08000 soft=f4c0a000
[ 0.004285] Initializing cgroup subsys cpuacct
[ 0.004338] CPU: Physical Processor ID: 0
[ 0.004341] CPU: Processor Core ID: 0
[ 0.004346] mce: CPU supports 6 MCE banks
[ 0.004353] CPU0: Thermal monitoring enabled (TM2)
[ 0.028042] weird, boot CPU (#0) not listed by the BIOS.
[ 0.032001] PEBS disabled due to CPU errata.
[ 0.032001] NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter.
[ 0.032001] Brought up 1 CPUs
[ 0.054217] HPET: 3 timers in total, 0 timers will be used for per-cpu timer
[ 0.386317] cpuidle: using governor ladder
[ 0.386320] cpuidle: using governor menu
[ 8.162447] microcode: CPU0 sig=0x6fb, pf=0x10, revision=0xb6

többi:
http://nopaste.info/f10f45d9e0.html

3.8.2-1.el6xen.x86_64 kernel alatt szintén ez van:

[root@xxx ~]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Core(TM)2 Quad CPU Q8300 @ 2.50GHz
stepping : 10
microcode : 0xa07
cpu MHz : 2500.078
cache size : 2048 KB
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu de tsc msr pae mce cx8 apic sep mca cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl pni monitor est ssse3 cx16 sse4_1 xsave hypervisor lahf_lm dtherm
bogomips : 5000.15
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

---------------------------------------------------
Hell is empty and all the devils are here.
-- Wm. Shakespeare, "The Tempest"

Egy /proc/cmdline sem jönne rosszul - egy nem észrevett nosmp vagy hasonló huncutság szintén okozhat zavart az erőben...

$cat /sys/devices/system/cpu/cpu1/online ?

Amit nem lehet megirni assemblyben, azt nem lehet megirni.

12 ubuntu verziót frissítettem egy szerveren 12 verziót? 6.10-től frissítettél 12.10-re?

Bocs, tudom nem ez érdekelt téged...

Kicsit bővebbet mesélhetnél a gépről. Ez egy pc alapvetően? Milyen alaplap? Live cd bebootolva látja a magokat? lshw kimenet pastebinen?

...---
A Linux nem ingyenes. Meg kell fizetni a tanulópénzt.
Az emberek 66 százaléka nem tud számolni! Gondoljatok bele, ez majdnem a fele!!
Mindenki jó valamire. Ha másra nem, hát elrettentő példának.

acpi=off

mindenkinek köszi a tippet :)

acpi=off

Bocs, hogy csak most értem ide. A probléma közvetlen oka az alábbi (a dmesg-ből):


[    0.000000] ACPI: No APIC-table, disabling MPS 
...
[    0.000000] SMP: Allowing 1 CPUs, 0 hotplug CPUs 

Bugos a BIOS-od. Normálisan valami ilyesmit kellene látnod:


ACPI: APIC 00000000bb7fed1b 00084 (v01 LENOVO TP-6M    00001270 LNVO 00000001)
...
Using ACPI (MADT) for SMP configuration information
...
SMP: Allowing 4 CPUs, 0 hotplug CPUs

Az MADT ("Multiple APIC Description Table") nevezetű ACPI táblában, melynek szignatúrája "APIC", a rendszer minden logikai processzorához kell tartoznia egy "Processor Local APIC Structure"-nek. A Linux kernel elsődlegesen ebből bányássza ki, hány logikai CPU van, ill. ezek közül melyek vannak engedélyezve. Például


ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x04] enabled)
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x05] enabled)

Másodlagos információforrás a BIOS részirül az MPTABLE (MPS/multiprocessor specification definiálja), azonban erre a kernelt kifejezetten meg kell kérni, mert az MADT ACPI tábla hiánya "szándéknyilatkozat". Ld. acpi_process_madt(), arch/x86/kernel/acpi/boot.c:


  1289                  /*
  1290                   * ACPI found no MADT, and so ACPI wants UP PIC mode.
  1291                   * In the event an MPS table was found, forget it.
  1292                   * Boot with "acpi=off" to use MPS on such a system.
  1293                   */
  1294                  if (smp_found_config) {
  1295                          printk(KERN_WARNING PREFIX
  1296                                  "No APIC-table, disabling MPS\n");
  1297                          smp_found_config = 0;
  1298                  }

Tehát a gépen nincs MADT, ezért nem foglalkozik alapból a meglévő MPTABLE-lel sem. Amikor az ACPI-ról lebeszéled, akkor az MPS/MPTABLE tud érvényesülni.

Az idézett kódrészlet ebben a commit-ban került be: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?…

Az Ubuntu 6.06 LTS a Wikipedia szerint 2006. június 1-jén jött ki, és (szerveren) öt évvel később szűnt meg a támogatása. A problémát azért nem láttad korábban, mert a Canonical ezt az upstream commit-ot nem backport-olta a 6.06 LTS-be.