hwinfo
64bit oder nicht, das ist hier dir Frage!
Wie erkennt man, ob in einer Linux Box bereits eine 64bit CPU schlummert? Diese Frage stellt sich natürlich nur bei älterer Hardware, die vielleicht auch noch hunderte Kilometer weit weg plaziert ist.
Die folgende Zeile sieht schon sehr vielversprechend aus. Damit kann ich sicher sein, dass ein 64bit Kernel läuft und damit muss die CPU das wohl auch unterstützen.
> uname -i x86_64
Was aber wenn hier nur i386, i586 oder i686 angezeigt wird?
> cat /proc/cpuinfo
oder für SuSE Linux Systeme
> hwinfo --cpu
Bringt hier die Lösung. Und zwar die Zeile in der die Fags angegeben werden. Das Long Mode Flag oder als "lm" abgekürzt zeigt auch bei installiertem 32bit System ob die Hardware bereits für 64bit gerüstet ist.
Ist Hyperthreading auf meiner Linux Box aktiviert?
Mit dem folgenden Befehl kann man ja jede Menge an Infos über die CPU auslesen:
# cat /proc/cpuinfo
Man sieht sehr schön, hier einen Zweikern Prozessor. Nur hat dieser auch wirklich Hyperthreading aktiviert? Das ht Flag verrät ja nur, ob Hyperthreading unterstützt wird.
processor : 0 vendor_id : AuthenticAMD cpu family : 15 model : 67 model name : AMD Athlon(tm) 64 X2 Dual Core Processor 5000+ stepping : 3 cpu MHz : 1800.000 cache size : 512 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 fpu : yes fpu_exception : yes cpuid level : 1 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 rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy bogomips : 3584.67 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts fid vid ttp tm stc processor : 1 vendor_id : AuthenticAMD cpu family : 15 model : 67 model name : AMD Athlon(tm) 64 X2 Dual Core Processor 5000+ stepping : 3 cpu MHz : 1800.000 cache size : 512 KB physical id : 0 siblings : 2 core id : 1 cpu cores : 2 fpu : yes fpu_exception : yes cpuid level : 1 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 rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy bogomips : 3584.67 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts fid vid ttp tm stc
Die Lösung dieses Problemes fällt zumindest unter Novell/SuSE recht leicht:
# hwinfo --cpu 01: None 00.0: 10103 CPU [Created at cpu.301] Unique ID: rdCR.j8NaKXDZtZ6 Hardware Class: cpu Arch: X86-64 Vendor: "AuthenticAMD" Model: 15.67.3 "AMD Athlon(tm) 64 X2 Dual Core Processor 5000+" Features: 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,rdtscp,lm,3dnowext,3dnow,pni,cx16,lahf_lm,cmp_legacy,svm,extapic,cr8_legacy Clock: 1000 MHz BogoMips: 1991.48 Cache: 512 kb Units/Processor: 2 Config Status: cfg=new, avail=yes, need=no, active=unknown 02: None 01.0: 10103 CPU [Created at cpu.301] Unique ID: wkFv.j8NaKXDZtZ6 Hardware Class: cpu Arch: X86-64 Vendor: "AuthenticAMD" Model: 15.67.3 "AMD Athlon(tm) 64 X2 Dual Core Processor 5000+" Features: 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,rdtscp,lm,3dnowext,3dnow,pni,cx16,lahf_lm,cmp_legacy,svm,extapic,cr8_legacy Clock: 1000 MHz BogoMips: 1991.48 Cache: 512 kb Units/Processor: 2 Config Status: cfg=new, avail=yes, need=no, active=unknown
An der Zeile Units/Processor: 2 erkennt man schön, dass jeder der beiden Kerne tatsächlich noch HT aktiviert hat!
Sollte jemand andere Möglichkeiten kennen, das zuverlässig heraus zu finden, bitte immer nur heraus damit!