Obtention d'informations sur le matériel système

Si je veux save avec précision des informations sur le matériel que j'utilise comme reference, quelle est la meilleure façon de le faire? Le contenu de /proc/meminfo suffisant?

Il existe plusieurs outils que vous pouvez utiliser pour capturer des détails sur votre matériel. Je voudrais utiliser l'set d'outils suivants pour y parvenir.

NOTE: Je dirais non, /proc/meminfo n'est pas suffisant, sauf si vous voulez juste savoir combien de RAM votre système a.

Information système

lshw

C'est un bon outil pour get une list générale de ce qui est actuellement inclus dans votre système d'un sharepoint vue matériel. Cela comprend également les pilotes utilisés, donc c'est généralement le premier outil pour de telles choses. Il peut vous montrer le matériel spécifique (réseau, CPU, RAM, etc.) et aussi les résultats dans un format court (montré ci-dessous) ainsi que la sortie en JSON, HTML ou XML.

Exemple

 $ sudo lshw -short | head | expand H/W path Device Class Description ====================================================== system 900X3C/900X3D/900X4C/900X4D (System SKUNumber) /0 bus NP900X4C-A07US /0/0 memory 128KiB BIOS /0/4 processor Core i7 (To Be Filled By OEM) /0/4/6 memory 32KiB L1 cache /0/4/7 memory 256KiB L2 cache /0/4/8 memory 4MiB L3 cache /0/5 memory 32KiB L1 cache 

dmidecode

Cet outil prend une approche différente et affiche un vidage des tables DMI du système. Ceci est essentiellement la vue du BIOS du système, sous forme lisible par l'homme.

extrait

dmidecode est un outil pour supprimer le contenu d'une table DMI d'un ordinateur (certains disent SMBIOS) dans un format lisible par l'homme. Cette table contient une description des composants matériels du système, ainsi que d'autres informations utiles telles que les numéros de série et la révision du BIOS. Grâce à cette table, vous pouvez récupérer cette information sans avoir à searchr le matériel réel. Bien que ce soit un bon point en termes de vitesse de rapport et de security, cela rend également l'information présentée peu fiable.

La table DMI ne décrit pas seulement ce que le système est actuellement en train de faire, elle peut également signaler les évolutions possibles (telles que le processeur le plus rapide pris en charge ou la quantité maximale de memory prise en charge).

SMBIOS est l'acronyme de System Management BIOS, tandis que DMI signifie Desktop Management Interface. Les deux normes sont étroitement liées et développées par le DMTF (Desktop Management Task Force).

Exemple

 $ sudo dmidecode | head -20 # dmidecode 2.12 # SMBIOS entry point at 0xdac46000 SMBIOS 2.7 present. 64 structures occupying 2909 bytes. Table at 0xDAC45000. Handle 0x0000, DMI type 0, 24 bytes BIOS Information Vendor: Phoenix Technologies Ltd. Version: P02ABK Release Date: 09/19/2012 Address: 0xE0000 Runtime Size: 128 kB ROM Size: 3072 kB Characteristics: PCI is supported BIOS is upgradeable BIOS shadowing is allowed Boot from CD is supported Selectable boot is supported 

hwinfo

Un autre outil vénérable pour capturer un instantané complet du matériel global de votre système. Similaire à lshw , mais IMO, probablement le meilleur outil global pour collecter ce type d'informations. C'est l'outil que j'atteins généralement.

 $ hwinfo --cpu | head -14 01: None 00.0: 10103 CPU [Created at cpu.446] Unique ID: rdCR.j8NaKXDZtZ6 Hardware Class: cpu Arch: X86-64 Vendor: "GenuineIntel" Model: 6.58.9 "Intel(R) Core(TM) i7-3517U CPU @ 1.90GHz" Features: 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,syscall,nx,rdtscp,lm,constant_tsc,arch_perfmon,pebs,bts,rep_good,nopl,xtopology,nonstop_tsc,aperfmperf,eagerfpu,pni,pclmulqdq,dtes64,monitor,ds_cpl,vmx,est,tm2,ssse3,cx16,xtpr,pdcm,pcid,sse4_1,sse4_2,x2apic,popcnt,tsc_deadline_timer,xsave,avx,f16c,rdrand,lahf_lm,ida,arat,epb,xsaveopt,pln,pts,dtherm,tpr_shadow,vnmi,flexpriority,ept,vpid,fsgsbase,smep,erms Clock: 905 MHz BogoMips: 4789.57 Cache: 4096 kb Units/Processor: 16 Config Status: cfg=new, avail=yes, need=no, active=unknown 

Ceci est une information intéressante car elle comprend à peu près tout ce que vous voudriez savoir sur la marque, le model et l'set des fonctionnalités de votre CPU.

Informations sur le processeur

lscpu

Cet outil va simplement vous montrer des détails sur votre CPU.

Exemple

 $ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 2 Core(s) per socket: 2 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 58 Model name: Intel(R) Core(TM) i7-3517U CPU @ 1.90GHz Stepping: 9 CPU MHz: 1701.562 CPU max MHz: 3000.0000 CPU min MHz: 800.0000 BogoMIPS: 4789.57 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 4096K NUMA node0 CPU(s): 0-3 

cpuid

Si vous voulez entrer dans les détails les plus réalists du CPU de votre système, il y a cpuid .

 $ cpuid -1 | less version information (1/eax): processor type = primary processor (0) family = Intel Pentium Pro/II/III/Celeron/Core/Core 2/Atom, AMD Athlon/Duron, Cyrix M2, VIA C3 (6) model = 0xa (10) stepping id = 0x9 (9) extended family = 0x0 (0) extended model = 0x3 (3) (simple synth) = Intel Core i3-3000 (Ivy Bridge L1) / i5-3000 (Ivy Bridge E1/N0/L1) / i7-3000 (Ivy Bridge E1) / Mobile Core i3-3000 (Ivy Bridge L1) / i5-3000 (Ivy Bridge L1) / Mobile Core i7-3000 (Ivy Bridge E1/L1) / Xeon E3-1200 v2 (Ivy Bridge E1/N0/L1) / Pentium G1600/G2000/G2100 (Ivy Bridge P0) / Pentium 900/1000/2000/2100 (P0), 22nm miscellaneous (1/ebx): process local APIC physical ID = 0x3 (3) cpu count = 0x10 (16) CLFLUSH line size = 0x8 (8) brand index = 0x0 (0) brand id = 0x00 (0): unknown feature information (1/edx): x87 FPU on chip = true virtual-8086 mode enhancement = true debugging extensions = true page size extensions = true time stamp counter = true RDMSR and WRMSR support = true physical address extensions = true machine check exception = true CMPXCHG8B inst. = true APIC on chip = true SYSENTER and SYSEXIT = true memory type range registers = true PTE global bit = true machine check architecture = true conditional move/compare instruction = true page atsortingbute table = true page size extension = true processor serial number = false ... 

/ proc / cpuinfo

Si vous voulez simplement interroger les informations que le kernel Linux fournit sur votre CPU sans devoir utiliser un outil, comme lscpu , vous pouvez toujours groker le système de files /proc . De la même manière que vous avez initialement demandé avec /proc/meminfo , d'autres matériels sont également représentés ici, par exemple, le CPU.

 $ head /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 58 model name : Intel(R) Core(TM) i7-3517U CPU @ 1.90GHz stepping : 9 microcode : 0x1b cpu MHz : 892.406 cache size : 4096 KB physical id : 0 

Les references

  • Déterminer la famille de processeur Intel pour le compilateur C?
  • Mode d'exploitation 32 bits, 64 bits sur Linux
  • Comment installer hwinfo sur Fedora 19/20 et CentOS 5/6
  • devise Linux pour vider les informations CPUID x86 sur les CPU (s)