10

10 outils Info Matériel sous Linux Ubuntu/Debian

Dans ce billet je vais vous présenter les outils que j’utilise pour connaître certaines infos sur mon matériel.
L’article est divisé en deux parties: 1 Lister son matériel et 2 Information Temps Réel.

1 Lister son matériel

Voici deux commande qui permettent de lister son matériel(mobo, CPU, RAM, PCI, etc…)

a)lshw
cette commande nécessite les droits super utilisateur, exemple:

$sudo lshw
[sudo] password for fred:
pc01
    description: Desktop Computer
    width: 64 bits
    capabilities: smbios-2.3 dmi-2.3 vsyscall64 vsyscall32
    configuration: boot=normal chassis=desktop
  *-core
       description: Motherboard
       product: NF-CK804
       vendor: Gigabyte Technology Co., Ltd.
       physical id: 0
       version: x.x
     *-firmware
          description: BIOS
          vendor: Award Software International, Inc.
          physical id: 0
          version: F10e
          date: 10/22/2008
          size: 128KiB
          capacity: 448KiB</pre>
          capabilities: isa pci pnp apm upgrade shadowing cdboot bootselect socketedrom edd int13floppy360 int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer int10video acpi usb ls120boot zipboot biosbootspecification
     *-cpu
          description: CPU
          product: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
          vendor: Hynix Semiconductor (Hyundai Electronics)
          physical id: 4
          bus info: cpu@0
          version: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
          slot: Socket 939
          size: 1800MHz
          capacity: 3GHz
          width: 64 bits
          clock: 200MHz
          capabilities: fpu fpu_exception wp 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 x86-64 3dnowext 3dnow rep_good nopl pni lahf_lm cmp_legacy cpufreq

......

Options utiles :

html/-xml : sortie au format HTML, typiquement à rediriger vers un fichier : lshw -html > matos.html
xml : sortie au format xml, typiquement à rediriger vers un fichier : lshw -xml > matos.xml
C TYPE: liste seulement les résultats de type TYPE ; ex. : lshw -C memory, lshw -C cpu, etc.

b)dmidecode

Décode la table DMI (en gros, le BIOS), donc liste le matériel (l’intérêt est que lshw et dmidecode ne tirent pas leurs infos du même endroit, et peuvent donner des résultats différents : il est donc bon de vérifier la cohérence).

Options utiles :

-t TYPE : liste seulement les résultats de type TYPE ;
exemple :
dmidecode -t memory (infos sur la RAM), dmidecode -t processor (infos sur le CPU), dmidecode -t slot (infos sur les slots PCI/AGP), dmidecode -t connector (infos sur les connecteurs IDE/COM/USB/PS2/etc).

exemple pour mon cas:

$sudo dmicode

SMBIOS 2.3 present.
38 structures occupying 1122 bytes.
Table at 0x000F0100.

Handle 0x0000, DMI type 0, 20 bytes
BIOS Information
	Vendor: Award Software International, Inc.
	Version: F10e
	Release Date: 10/22/2008
	Address: 0xE0000
	Runtime Size: 128 kB
	ROM Size: 512 kB
	Characteristics:
		ISA is supported
		PCI is supported
		PNP is supported
		APM is supported
		BIOS is upgradeable
		BIOS shadowing is allowed
		Boot from CD is supported
		Selectable boot is supported
		BIOS ROM is socketed

.......

c)hardinfo
hardinfo est une solution graphique, exemple:

$hardinfo

ce qui donne
hardinfo
ce qui peut être intéressent avec hardinfo c’est qu’on peut faire des tests de Benchmarks, exemple:
hardinfo_benchmark

d)Connaître les caractéristiques de sa RAM: decode-dimms.pl

$sudo apt-get install i2c-tools
$sudo modprobe eeprom
$sudo modprobe i2c-i801
$decode-dimms

ce qui donne par exemple:

Memory Serial Presence Detect Decoder
By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner,
Jean Delvare, Trent Piepho and others

Decoding EEPROM: /sys/bus/i2c/drivers/eeprom/0-0050
Guessing DIMM is in                             bank 1

---=== SPD EEPROM Information ===---
EEPROM Checksum of bytes 0-62                   OK (0xB2)
# of bytes written to SDRAM EEPROM              128
Total number of bytes in EEPROM                 256
Fundamental Memory type                         DDR SDRAM
SPD Revision                                    0.0

---=== Memory Characteristics ===---
Maximum module speed                            400MHz (PC3200)
Size                                            1024 MB
tCL-tRCD-tRP-tRAS                               3-3-3-8
Supported CAS Latencies                         3T, 2.5T
Supported CS Latencies                          0
Supported WE Latencies                          1
Minimum Cycle Time at CAS 3                     5 ns
Maximum Access Time at CAS 3                    0.7 ns
Minimum Cycle Time at CAS 2.5                   6 ns
Maximum Access Time at CAS 2.5                  0.7 ns

---=== Manufacturing Information ===---
Manufacturer                                    Corsair
Manufacturing Location Code                     0x01
Part Number                                     VS1GB400C3

.....

e)lister interfaces PCI: lspci

$lspci
00:00.0 Memory controller: nVidia Corporation CK804 Memory Controller (rev a3)
00:01.0 ISA bridge: nVidia Corporation CK804 ISA Bridge (rev a3)
00:01.1 SMBus: nVidia Corporation CK804 SMBus (rev a2)
00:02.0 USB Controller: nVidia Corporation CK804 USB Controller (rev a2)
00:02.1 USB Controller: nVidia Corporation CK804 USB Controller (rev a3)
00:06.0 IDE interface: nVidia Corporation CK804 IDE (rev f2)
00:07.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev f3)
00:08.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev f3)
00:09.0 PCI bridge: nVidia Corporation CK804 PCI Bridge (rev a2)
00:0a.0 Bridge: nVidia Corporation CK804 Ethernet Controller (rev a3)
00:0b.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3)
00:0c.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3)
00:0d.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3)
00:0e.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:07.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 0a)
01:07.1 Input device controller: Creative Labs SB Live! Game Port (rev 0a)
01:0a.0 FireWire (IEEE 1394): Texas Instruments TSB82AA2 IEEE-1394b Link Layer Controller (rev 01)
02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8053 PCI-E Gigabit Ethernet Controller (rev 19)
05:00.0 VGA compatible controller: nVidia Corporation NV43 [GeForce 6600] (rev a2)

si on ne veut que les caractéristiques de la carte graphique:

$lspci | grep VGA
05:00.0 VGA compatible controller: nVidia Corporation NV43 [GeForce 6600] (rev a2)

Options utiles :
-v : bavard
-vv : très bavard
-vvv : pire encore !
-n : donne les indices numériques au lieu des noms
-nn : noms + indices
-tv : vue arborescente des branchements

d)lister les matériels USB: lsusb
exemple:

$lsusb
Bus 002 Device 002: ID 046d:c018 Logitech, Inc. Optical Wheel Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

cette commande est surtout utile pour savoir si un périphérique est bien reconnu/branché sur notre matériel.

Pour mettre à jour la liste des identifiants USB et PCI pour votre linux, voir cet article: http://www.korezian.net/2010/09/16/mettre-a-jour-la-liste-des-identifiants-usb-et-pci-pour-votre-linux

2 Information Temps Réel

a)les processus: top
exemple:

$top
top - 10:56:35 up 3 days, 21:28,  3 users,  load average: 0.07, 0.05, 0.09
Tasks: 187 total,   2 running, 185 sleeping,   0 stopped,   0 zombie
Cpu(s):  5.4%us,  3.6%sy,  0.0%ni, 90.6%id,  0.4%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   4059116k total,  3825196k used,   233920k free,   679076k buffers
Swap:   975868k total,        0k used,   975868k free,  1606556k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 2360 fred      20   0  478m 301m 255m S   35  7.6 381:47.59 VirtualBox
 3311 fred      20   0  375m 154m  26m R    8  3.9 369:40.73 plugin-containe
 2211 fred      20   0 85152  17m  11m S    2  0.5   0:40.06 gnome-terminal
    1 root      20   0  3324 1896 1264 S    0  0.0   0:00.69 init
    2 root      20   0     0    0    0 S    0  0.0   0:00.04 kthreadd
    3 root      20   0     0    0    0 S    0  0.0   0:07.76 ksoftirqd/0

dans ce cas nous pouvons voir que VirtualBox occupe 35% de CPU
et si on veut tuer un processus, exmemple plugin-containe

$kill 3311

ou

$killall plugin-containe

b)processus alternatif: htop
une autre façon de voir nos processus en cours

$htop

htop

c) mémoire utilisée free

$free -m
             total       used       free     shared    buffers     cached
Mem:          3962       1732       2230          0        129        866
-/+ buffers/cache:        736       3225
Swap:          952          0        952

d) température système sensors

$sensors
it8712-isa-0290
Adapter: ISA adapter
in0:         +1.09 V  (min =  +0.00 V, max =  +4.08 V)
in1:         +2.61 V  (min =  +0.00 V, max =  +4.08 V)
in2:         +3.38 V  (min =  +0.00 V, max =  +4.08 V)
in3:         +1.70 V  (min =  +0.00 V, max =  +4.08 V)
in4:         +3.12 V  (min =  +0.00 V, max =  +4.08 V)
in5:         +2.72 V  (min =  +0.00 V, max =  +4.08 V)
in6:         +2.10 V  (min =  +0.00 V, max =  +4.08 V)
in7:         +2.27 V  (min =  +0.00 V, max =  +4.08 V)
Vbat:        +2.85 V
fan1:       2033 RPM  (min =    0 RPM, div = 8)
fan2:          0 RPM  (min =    0 RPM, div = 8)
fan3:          0 RPM  (min =    0 RPM, div = 8)
temp1:       +25.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
temp2:       +34.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
temp3:       +70.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
cpu0_vid:   +1.100 V

k8temp-pci-00c3
Adapter: PCI adapter
Core0 Temp:  +34.0°C
Core1 Temp:  +33.0°C

e) Vitesse de connexion
Nous allons utiliser Indicator-Sysmonitor pour afficher notre vitesse de connexion.
On commence par l’intaller:

$sudo add-apt-repository ppa:alexeftimie/ppa
$sudo apt-get update
$sudo apt-get install indicator-sysmonitor

On install ensuite dstat

$sudo apt-get install dstat

Nous allons télécharger le script dans un dossier que nous venons de créer avce le nom « script »

$mkdir -p ~/script && cd ~/script
$wget http://webupd8.googlecode.com/files/sysmon_0.1.tar.gz && tar -xvf sysmon_0.1.tar.gz

et nous testons le script:

$./sysmon
Mem: 19% Up: 29 KiB/s Down: 10 KiB/s

nous pouvons aussi afficher la charge processus en éditant le script sysmon

$sudo nano sysmon
#!/bin/bash

#settings:
netspeed=true
ram=true
cpu=false

et on remplace false par true sur la ligne du CPU:

#!/bin/bash

#settings:
netspeed=true
ram=true
cpu=true

et on relance le script:

$./sysmon
Mem: 51% CPU: 18% Up: 20 KiB/s Down: 824 KiB/s

Voilà pour moi, si vous avez d’autres outils n’hésitez pas à partager ;-)
source: http://doc.ubuntu-fr.org/connaitre_son_materiel
source: http://www.guideubuntu.com/2011/05/comment-faire-pour-afficher-la-vitesse.html

Partager l'article :





fred

"Dire que l'on s'en fiche du droit à la vie privée sous prétexte qu'on a rien à cacher, c'est comme déclarer que l'on se fiche du droit à la liberté d'expression sous prétexte qu'on a rien à dire." Edward Snowden

10 commentaires

  1. Salut Fred ; très bon article avec les bons exemples qui vont bien…
    …j’ai pas fait aussi complet que toi, je l’avoue !

    Par contre, concernant lsusb et lspci…je crois que ça pourrait être « cool biclassé fun » que tu fasses mention de la possibilité de mettre à jour les identifiants constructeurs:matériels (comme je l’explique ICI ; quand on fonctionne avec un système en LTS, par exemple…c’est assez intéressant de pouvoir mettre ça à jour !
    ;-)

  2. Merci JEEK! :-)
    très intéressant ton article!

  3. bonjour,
    très bon articles;
    petite question auriez-vous un truc pour tester l’état des barrettes mémoire.
    @+

  4. Salut hudouriez :-)

    pour tester la RAM j’utilise Memtest86+, dispo généralement sur les LiveCd de GNU/Linux.

  5. Salut Fred,
    Merci d’avoir répondu.
    Je suis sur ubuntu 12.04. effectivement j’ai essayé Memtest86+, en iso sur cd.
    Je n’arrive pas, à le faire fonctionner, n’étant pas trop doué dans le dépannage.
    Je ne vois pas trop comment faire.
    J’ai bien gravé un DVD, je me retrouve avec un fichier qui doit pas être bootable.
    Il y a t-il une autre solution.

    @+

  6. salut,
    Je commence à comprendre.
    Sur mon portable, je trouve bien au démarrage mentest86. sur mon PC, au démarrage rien. je vais directement sur ubuntu 12.04.
    Pouvez-vous m’expliquer comment retrouver la marche à suivre.
    Je vous en remercie d’avance.
    @+

  7. En fait pour comprendre, quel est le souci avec la mémoire?
    demain je ferais des screenshots pour expliquer…

  8. Impossible d’installer ishw sous Linux Manjaro…

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.