Outre les répertoires des différents
processus, /proc contient aussi une foule de
renseignements sur le matériel présent dans votre machine. Une
liste des fichiers du répertoire /proc donne
ceci :
$ ls -d [a-z]* acpi/ diskstats iomem locks pci sysvipc/ asound/ dma ioports mdstat scsi/ tty/ buddyinfo driver/ irq/ meminfo self@ uptime bus/ execdomains kallsyms misc slabinfo version cmdline fb kcore modules splash vmstat config.gz filesystems keys mounts@ stat cpuinfo fs/ key-users mtrr swaps crypto ide/ kmsg net/ sys/ devices interrupts loadavg partitions sysrq-trigger $
Par exemple, en ce qui concerne le
contenu de /proc/interrupts, on constate qu'il
contient la liste des interruptions actuellement utilisées par le
système, ainsi que le périphérique qui les utilise. De même,
ioports contiendra la liste des plages
d'entrée/sortie actuellement activées, et enfin
dma fera de même avec les canaux DMA. Ainsi,
pour repérer un conflit, il suffira de vérifier le contenu de ces
trois fichiers :
$ cat interrupts
CPU0
0: 543488 XT-PIC timer
2: 0 XT-PIC cascade
5: 109 XT-PIC ohci_hcd:usb2, eth1
7: 1 XT-PIC parport0
8: 0 XT-PIC rtc
9: 3432 XT-PIC acpi, NVidia CK8
10: 52855 XT-PIC ehci_hcd:usb3, eth0
11: 7538 XT-PIC libata, ohci_hcd:usb1
12: 1386 XT-PIC i8042
14: 20 XT-PIC ide0
15: 5908 XT-PIC ide1
NMI: 0
LOC: 0
ERR: 0
MIS: 0
$ cat ioports
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-006f : keyboard
0070-0077 : rtc
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
0376-0376 : ide1
0378-037a : parport0
037b-037f : parport0
03c0-03df : vesafb
03f6-03f6 : ide0
03f8-03ff : serial
0778-077a : parport0
0970-0977 : 0000:00:0b.0
0970-0977 : sata_nv
09f0-09f7 : 0000:00:0b.0
09f0-09f7 : sata_nv
0b70-0b73 : 0000:00:0b.0
0b70-0b73 : sata_nv
0bf0-0bf3 : 0000:00:0b.0
0bf0-0bf3 : sata_nv
0cf8-0cff : PCI conf1
4000-407f : motherboard
4000-4003 : PM1a_EVT_BLK
4004-4005 : PM1a_CNT_BLK
4008-400b : PM_TMR
4020-4027 : GPE0_BLK
4080-40ff : motherboard
4080-40ff : pnp 00:00
4200-427f : motherboard
4200-427f : pnp 00:00
4280-42ff : motherboard
4280-42ff : pnp 00:00
4400-447f : motherboard
4400-447f : pnp 00:00
4480-44ff : motherboard
44a0-44af : GPE1_BLK
5000-503f : motherboard
5000-503f : pnp 00:01
5100-513f : motherboard
5100-513f : pnp 00:01
9000-9fff : PCI Bus #02
9000-907f : 0000:02:07.0
9000-907f : 0000:02:07.0
ac00-ac0f : 0000:00:0b.0
ac00-ac0f : sata_nv
b000-b07f : 0000:00:0b.0
b000-b07f : sata_nv
b800-b8ff : 0000:00:06.0
b800-b8ff : NVidia CK8
bc00-bc7f : 0000:00:06.0
bc00-bc7f : NVidia CK8
c000-c007 : 0000:00:04.0
c000-c007 : forcedeth
c400-c41f : 0000:00:01.1
f000-f00f : 0000:00:09.0
f000-f007 : ide0
f008-f00f : ide1
$cat dma
3: parport0
4: cascade
$Ou, plus simplement, utilisez la commande lsdev, qui regroupe les informations de ces trois fichiers et classe les informations par périphérique.[11] :
$ lsdev Device DMA IRQ I/O Ports ------------------------------------------------ 0000:00:01.1 c400-c41f 0000:00:04.0 c000-c007 0000:00:06.0 b800-b8ff bc00-bc7f 0000:00:09.0 f000-f00f 0000:00:0b.0 0970-0977 09f0-09f7 0b70-0b73 0bf0-0bf3 ac00-ac0f b000-b07f 0000:02:07.0 9000-907f 9000-907f cascade 4 2 CK8 9 dma 0080-008f dma1 0000-001f dma2 00c0-00df eth0 10 eth1 5 forcedeth c000-c007 fpu 00f0-00ff GPE0_BLK 4020-4027 GPE1_BLK 44a0-44af i8042 12 ide0 14 01f0-01f7 03f6-03f6 f000-f007 ide1 15 0170-0177 0376-0376 f008-f00f keyboard 0060-006f motherboard 4000-407f 4080-40ff 4200-427f 4280-42ff 4400-447f 4480-44ff 5000-503f 5100-513f NVidia b800-b8ff bc00-bc7f ohci_hcd:usb1 11 parport0 3 7 0378-037a 037b-037f 0778-077a PCI 0cf8-0cff 9000-9fff pic1 0020-0021 pic2 00a0-00a1 PM1a_CNT_BLK 4004-4005 PM1a_EVT_BLK 4000-4003 PM_TMR 4008-400b pnp 4080-40ff 4200-427f 4280-42ff 4400-447f 5000-503f 5100-513f rtc 8 0070-0077 sata_nv 0970-0977 09f0-09f7 0b70-0b73 0bf0-0bf3 ac00-ac0f b000-b07f serial 03f8-03ff timer 0 timer0 0040-0043 timer1 0050-0053 vesafb 03c0-03df $
Une énumération complète des fichiers présents serait trop longue. Néanmoins, voici la description de quelques-uns d'entre eux :
cpuinfo : informe sur le ou les
processeur(s) présent(s) dans votre machine.
modules : liste les
modules actuellement utilisés dans le noyau ainsi que leurs
compteurs d'utilisation. En fait, il s'agit de la même
information que celle reportée par la commande
lsmod, mais cette dernière l'affiche plus lisiblement.
meminfo :
contient des informations sur l'état de la mémoire à l'instant où
vous affichez son contenu. Une sortie plus clairement formatée
est disponible avec la commande free.
apm : si
vous avez un ordinateur portable, l'affichage du contenu de ce
fichier vous permet de voir l'état de votre batterie. Vous
pouvez savoir si l'alimentation externe est branchée, connaître
la charge courante de votre batterie, et si le BIOS APM
de votre portable le permet (malheureusement, ce n'est pas le cas
pour tous les ordinateurs portables), la durée de vie restante, en
minutes. Le fichier n'est pas très lisible en tant que tel. Il
est donc conseillé d'utiliser la commande apm
à la place, qui donne les mêmes informations dans un format plus
lisible (si on comprend l'anglais...).
Les ordinateurs modernes proposent maintenant la norme ACPI au lieu de APM. Voir ci-dessous.
bus : ce
sous-répertoire contient des renseignements sur tous les
périphériques trouvés sur les différents bus de votre machine. En
général, ces renseignements sont peu lisibles, et sont pour la
plupart traités et remis en forme par des utilitaires
externes : lspcidrake, lspnp, etc.
acpi : plusieurs des
fichiers accessibles dans ce répertoire sont intéressants surtout
pour les ordinateurs portables. Vous pourrez aussi y choisir
plusieurs options d'économie d'énergie. Il est cependant plus
aisé de modifier ces paramètres à travers une interface de haut
niveau, comme celles incluses dans les paquetages
acpid et
kacpi.
Les entrées les plus intéressantes sont :
batteryIndique le nombre de batteries présentes et les informations afférentes telles que autonomie restante, capacité maximum, etc.
buttonPermet de définir les actions associées aux boutons « spéciaux » du clavier tels que marche/arrêt, veille, etc.
fanAffiche l'état des ventilateurs de l'ordinateur et permet de définir des seuils pour leur mise en marche ou arrêt. Le degré de contrôle disponible dépend de la carte mère.
processorIl existe ici un sous-répertoire par processeur présent dans la machine. Les options de contrôle varient d'un processeur à l'autre. Les processeurs dits « mobiles » proposent plus de fonctions, dont :
Notez que nombre de processeurs n'offrent aucune de ces possibilités.
thermal_zoneInformation à propos de la température des différents éléments de l'ordinateur.