Les fichiers du niveau supérieur dans /proc

La plupart des fichiers du niveau supérieur du répertoire /proc contiennent des informations clés sur l'état du noyau Linux et votre système en général.

Il est important de se rappeler que le contenu des fichiers du répertoire /proc et de ses divers sous-répertoires dépend entièrement des informations concernant votre système. Autrement dit, ne vous attendez pas à voir les mêmes informations dans un même fichier /proc sur différents ordinateurs. De plus, selon la version du noyau Linux et les périphériques branchés à votre système, certains des fichiers que vous trouverez ici pourraient ne pas se trouver dans votre répertoire /proc. De même, des fichiers se trouvant dans vos répertoires pourraient ne pas être décrits dans ce document.

Plutôt que d'être un regroupement exhaustif de ces fichiers et des informations qu'ils contiennent, la liste suivante vise à illustrer les fichiers les plus communs et les plus utiles. L'objectif est de fournir à l'administrateur système un endroit où il peut trouver des données actuelles sur son système là où les autres outils utilisés ont échoué.

/proc/apm

Ce fichier fournit des informations sur l'état de la gestion de la consommation d'énergie (APM) et les options sur le système. Ces informations sont utilisées par le noyau pour fournir des informations à la commande apm.

La sortie de ce fichier sur un système sans batterie et, par conséquent, branché constamment sur un réseau d'alimentation AC ressemble à ceci :

1.14 1.2 0x03 0x01 0xff 0x80 -1% -1 ?

L'exécution de la commande apm sur un tel système donne un résultat semblable à ce qui suit :

[root@bleach /proc]# apm -v
APM BIOS 1.2 (kernel driver 1.14)
AC on-line, no system battery
[root@bleach /proc]# 

Pour ces systèmes, apm ne peut pas faire grand chose d'autre que de mettre l'ordinateur en mode standby. Notez que cet état n'est possible que si votre BIOS le prend en charge. Si vous essayez de mettre en mode standby un système qui n'est pas conçu pour cela, vous risquez de le rendre instable.

La commande apm est beaucoup plus utile sur des portables et autres systèmes Linux portables. Cela se reflète également dans leurs fichiers /proc/apm. Voici un exemple de sortie de ce fichier sur un portable qui exécute Linux, lorsqu'il est branché à une prise de courant :

1.14 1.2 0x03 0x01 0x03 0x09 100% -1 ?

Si l'on débranche cet ordinateur de la prise de courant et le fait fonctionner à l'aide de sa propre batterie pendant quelques minutes, vous remarquerez que le contenu du fichier apm change :

1.14 1.2 0x03 0x00 0x00 0x01 99% 1792 min

Dans cet état, la commande apm fournit des informations lisibles à partir des données :

[ed@blink /]$ apm -v
APM BIOS 1.2 (kernel driver 1.14)
AC off-line, battery status high: 99% (1 day, 5:52)
[ed@blink /]$ 

Cela montre bien la relation entre les données situées dans des fichiers /proc bruts et les utilitaires conçus pour se servir de ces informations dans un but spécifique.

/proc/cmdline

Ce fichier montre principalement les paramètres passés au noyau Linux lorsqu'il est démarré. Voici un exemple de ce à quoi un fichier /proc/cmdline peut ressembler :

auto BOOT_IMAGE=linux ro root=305 BOOT_FILE=/boot/vmlinuz-2.4.2-2

Les données importantes contenues dans ce fichier peuvent être divisées de la façon suivante :

/proc/cpuinfo

Ce fichier change selon le type d'unité centrale installée sur votre système. La sortie est assez simple à comprendre. Voici un exemple de ce à quoi peut ressembler ce fichier :

processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 6
model name	: Celeron (Mendocino)
stepping	: 0
cpu MHz		: 334.099
cache size	: 128 KB
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 2
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov
bogomips	: 666.82

Il y a pas mal d'informations disponibles. Parmi les plus importantes :

/proc/devices

Ce fichier affiche les divers périphériques d'entrée-sortie de caractères et par blocs actuellement configurés pour être utilisés avec le noyau. Il ne contient pas les modules qui sont disponibles, mais non chargés dans le noyau. Voici un exemple de ce fichier :

Character devices:
  1 mem
  2 pty
  3 ttyp
  4 ttyS
  5 cua
  7 vcs
 10 misc
 29 fb
 36 netlink
128 ptm
136 pts
162 raw
180 usb

Block devices:
  1 ramdisk
  2 fd
  3 ide0
  9 md
 22 ide1

La sortie de /proc/devices inclut le nombre majeur et le nom du périphérique.

Les périphériques d'entrée-sortie de caractères sont semblables aux périphériques d'entrée-sortie par blocs, à l'exception de deux différences de base.

Premièrement, les périphériques d'entrée-sortie par blocs ont un tampon disponible pour des demandes qui leur sont envoyées, ce qui leur permet de mettre les demandes en ordre avant de les traiter. Cela est très utile avec des périphériques conçus pour stocker des informations, tels que les disques durs, parce que la possibilité de mettre les demandes en ordre avant de les écrire sur le périphérique permet de les placer plus efficacement. Les périphériques d'entrée-sortie de caractères ne nécessitent pas ce genre de mise en tampon.

Deuxièmement, les périphériques d'entrée-sortie par blocs peuvent envoyer et recevoir les informations par blocs d'une taille spécifique, pouvant être configurée de façon à répondre aux exigences d'un périphérique donné. Les périphériques d'entrée-sortie de caractères quant à eux envoient des données tant qu'il y a de l'espace, sans taille préconfigurée.

Pour savoir si un périphérique est de caractères ou par blocs, entrez la commande ls -l <nom-du-périphérique>. Si le premier caractère dans la réponse est un b, alors il s'agit d'un périphérique d'entrée-sortie par blocs ; si c'est un c, il s'agit d'un périphérique d'entrée-sortie de caractères. Exemple : examinez la sortie d'une commande look pour certains périphériques (hda est le premier disque dur IDE et tty0 est le port du premier terminal) depuis le répertoire /dev :

[root@bleach /]# ls -l /dev/hda /dev/tty0
brw-rw----    1 root     disk       3,   0 Mar 23 23:37 /dev/hda
crw--w----    1 truk     truk       4,   0 May  3 16:28 /dev/tty0
[root@bleach /]# 

Vous trouverez plus d'informations sur les périphériques dans /usr/src/linux-2.4/Documentation/devices.txt.

/proc/dma

Ce fichier contient une liste des canaux d'accès direct en mémoire (DMA) ISA enregistrés utilisés. Voici un exemple de fichier /proc/dma :

 4: cascade

/proc/execdomains

Ce fichier donne la liste des domaines d'exécution actuellement pris en charge par le noyau Linux, ainsi que l'éventail de personnalités qu'ils prennent en charge.

0-255   Linux           [kernel]

Imaginez-vous les domaines d'exécution comme étant une sorte de personnalité d'un système d'exploitation donné. D'autres formats binaires, tels que Solaris, UnixWare et FreeBSD peuvent être utilisés avec Linux. En changeant la personnalité d'une tâche qui s'exécute sous Linux, un programmeur peut changer la façon dont le système d'exploitation traite certains appels système d'un binaire donné. A l'exception du domaine d'exécution PER_LINUX, ils peuvent être mis en oeuvre en tant que modules chargeables dynamiquement.

/proc/fb

Ce fichier contient une liste de mémoires vidéo, avec le numéro de chaque mémoire vidéo et le pilote qui la contrôle. La sortie de /proc/fb pour les systèmes qui contiennent des mémoires vidéo ressemble généralement à ceci :

0 VESA VGA

/proc/filesystems

Ce fichier affiche une liste des types de système de fichiers actuellement pris en charge par le noyau. Voici un exemple de fichier /proc/filesystems d'un noyau générique :

nodev	sockfs
nodev	tmpfs
nodev	shm
nodev	pipefs
nodev	proc
	ext2
	iso9660
nodev	devpts
nodev	usbdevfs
nodev	autofs

La première colonne indique si le système de fichiers est monté sur un périphérique d'entrée-sortie par blocs ; s'il est écrit nodev dans cette colonne, le système de fichiers n'est pas monté sur un périphérique d'entrée-sortie par blocs. La seconde colonne établit la liste des noms de système de fichiers pris en charge.

Ces informations sont utilisées par la commande mount pour chercher les divers systèmes de fichiers lorsque aucun d'eux n'est spécifié comme argument.

/proc/interrupts

Ce fichier enregistre le nombre d'interruptions par IRQ sur l'architecture x86. Un fichier /proc/interrupts standard ressemble à ceci :

           CPU0       
  0:    8399367          XT-PIC  timer
  1:        339          XT-PIC  keyboard
  2:          0          XT-PIC  cascade
  5:      80111          XT-PIC  usb-uhci, eth0
  8:          1          XT-PIC  rtc
 12:       6107          XT-PIC  PS/2 Mouse
 14:      60324          XT-PIC  ide0
 15:     541741          XT-PIC  ide1
NMI:          0 
ERR:          0

Dans le cas d'un ordinateur ayant plusieurs unités centrales, le fichier peut être quelque peu différent :

           CPU0       CPU1       
  0: 1366814704          0          XT-PIC  timer
  1:        128        340    IO-APIC-edge  keyboard
  2:          0          0          XT-PIC  cascade
  8:          0          1    IO-APIC-edge  rtc
 12:       5323       5793    IO-APIC-edge  PS/2 Mouse
 13:          1          0          XT-PIC  fpu
 16:   11184294   15940594   IO-APIC-level  Intel EtherExpress Pro 10/100 Ethernet
 20:    8450043   11120093   IO-APIC-level  megaraid
 30:      10432      10722   IO-APIC-level  aic7xxx
 31:         23         22   IO-APIC-level  aic7xxx
NMI:          0
ERR:          0

La première colonne fait référence au numéro IRQ. Chaque unité centrale du système a sa propre colonne et son propre nombre d'interruptions par IRQ. La colonne suivante indique le type d'interruption et la dernière colonne contient le nom du périphérique situé à cet IRQ.

Chaque type d'interruption visualisé dans ce fichier, spécifique à l'architecture, a une signification différente. Pour les ordinateurs x86, les valeurs suivantes sont communes :

/proc/iomem

Ce fichier montre la topographie mémoire actuelle du système pour ses différents périphériques :

00000000-0009fbff : System RAM
0009fc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000f0000-000fffff : System ROM
00100000-03ffcfff : System RAM
  00100000-002557df : Kernel code
  002557e0-0026c80b : Kernel data
03ffd000-03ffefff : ACPI Tables
03fff000-03ffffff : ACPI Non-volatile Storage
dc000000-dfffffff : S3 Inc. ViRGE/DX or /GX
e3000000-e30000ff : Lite-On Communications Inc LNE100TX
  e3000000-e30000ff : eth0
e4000000-e7ffffff : Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge
ffff0000-ffffffff : reserved

La première colonne affiche les registres de mémoire utilisés par chacun des types différents de mémoire. La deuxième colonne indique la sorte de mémoire située dans ces registres. Plus particulièrement, cette colonne vous indique quels registres sont utilisés par le noyau dans la mémoire vive du système ou, si vous avez plusieurs ports Ethernet sur votre carte interface de réseau, les registres de mémoire assignés à chaque port.

/proc/ioports

Semblable à /proc/iomem, /proc/ioports fournit une liste des ports actuellement enregistrés utilisés pour l'entrée ou la sortie de communications avec un périphérique. Ce fichier peut être assez long ; le début ressemble à ceci :

0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0

La première colonne indique l'éventail d'adresses de port E/S réservées au périphérique spécifié dans la seconde colonne.

/proc/isapnp

Ce fichier donne une liste des cartes Plug & Play (PnP) dans les fentes ISA du système. Cela se voit surtout avec des cartes son, mais peut aussi inclure d'autres périphériques. Un fichier /proc/isapnp ayant une entrée Soundblaster ressemble à ce qui suit :

Card 1 'CTL0070:Creative ViBRA16C PnP' PnP version 1.0 Product version 1.0
  Logical device 0 'CTL0001:Audio'
    Device is not active
    Active port 0x220,0x330,0x388
    Active IRQ 5 [0x2]
    Active DMA 1,5
    Resources 0
      Priority preferred
      Port 0x220-0x220, align 0x0, size 0x10, 16-bit address decoding
      Port 0x330-0x330, align 0x0, size 0x2, 16-bit address decoding
      Port 0x388-0x3f8, align 0x0, size 0x4, 16-bit address decoding
      IRQ 5 High-Edge
      DMA 1 8-bit byte-count compatible
      DMA 5 16-bit word-count compatible
      Alternate resources 0:1
        Priority acceptable
        Port 0x220-0x280, align 0x1f, size 0x10, 16-bit address decoding
        Port 0x300-0x330, align 0x2f, size 0x2, 16-bit address decoding
        Port 0x388-0x3f8, align 0x0, size 0x4, 16-bit address decoding
        IRQ 5,7,2/9,10 High-Edge
        DMA 1,3 8-bit byte-count compatible
        DMA 5,7 16-bit word-count compatible

Ce fichier peut être assez long, selon le nombre de périphériques affichés et leurs exigences ou demandes en termes de ressources.

Chaque carte affiche son nom, le numéro de version PnP et le numéro de version du produit. Si le périphérique est activé et configuré, ce fichier montre également le port et les numéros IRQ pour le périphérique. De plus, afin d'assurer une meilleure compatibilité, la carte spécifie les valeurs preferred et acceptable pour un certain nombre de paramètres. L'objectif est de permettre aux cartes PnP de travailler les unes aux côtés des autres et d'éviter tout IRQ ou conflit de port.

/proc/kcore

Ce fichier représente la mémoire physique du système et est stocké au format du fichier core. Contrairement à la plupart des fichiers /proc, kcore affiche une taille. Cette valeur est donnée en octets et est égale à la taille de la mémoire vive (RAM) utilisée plus 4 Ko.

N'essayez pas de visualiser ce fichier à l'aide de la commande cat ou d'une autre commande. Son contenu est destiné à être visualisé par un débogueur, tel que gdb, le débogueur de GNU.

Seul le super-utilisateur a le droit de visualiser ce fichier.

/proc/kmsg

Ce fichier est utilisé pour contenir des messages générés par le noyau. Ces messages sont ensuite pris par d'autres programmes, tels que klogd.

/proc/ksyms

Ce fichier contient les définitions de symbole exporté utilisées par les outils de module pour lier et associer dynamiquement des modules chargeables.

e003def4 speedo_debug	[eepro100]
e003b04c eepro100_init	[eepro100]
e00390c0 st_template	[st]
e002104c RDINDOOR	[megaraid]
e00210a4 callDone	[megaraid]
e00226cc megaraid_detect	[megaraid]

La deuxième colonne indique le nom d'une fonction du noyau, alors que la première donne la liste d'adresses de mémoire de cette fonction dans le noyau. La dernière colonne indique le nom du module chargé pour fournir cette fonction.

/proc/loadavg

Ce fichier fournit un aperçu de la moyenne de charge ou de l'utilisation de l'unité centrale, dans le temps, et donne aussi des données supplémentaires utilisées par la commande uptime et d'autres commandes. Voici un exemple de fichier loadavg :

0.20 0.18 0.12 1/80 11206

Les trois premières colonnes mesurent l'utilisation de l'unité centrale en fonction des dernières périodes de 1, 5 et 10 minutes. La quatrième colonne indique le nombre de processus en cours d'exécution et le nombre total de processus. La dernière colonne affiche le dernier ID de processus utilisé.

/proc/locks

Ce fichier affiche les fichiers actuellement verrouillés par le noyau. Le contenu de ce fichier comprend des données de débogage interne du noyau et peut varier énormément selon l'utilisation du système. Voici un exemple de fichier locks d'un système très peu chargé :

1: FLOCK  ADVISORY  WRITE 807 03:05:308731 0 EOF c2a260c0 c025aa48 c2a26120
2: POSIX  ADVISORY  WRITE 708 03:05:308720 0 EOF c2a2611c c2a260c4 c025aa48

Chaque verrouillage se voit assigner un numéro unique au début de chaque ligne. La deuxième colonne indique la classe de verrouillage utilisée ; FLOCK représente les verrouillages de fichier UNIX de style plus ancien de l'appel de système flock et POSIX représente les verrouillages POSIX, plus récents, de l'appel de système lockf.

La troisième colonne peut avoir 2 valeurs. ADVISORY signifie que le verrouillage n'empêche pas les autres d'avoir accès aux données ; il ne fait qu'empêcher les autres d'essayer de les verrouiller. MANDATORY signifie que personne n'est autorisé à accéder aux données tant que le verrouillage est en place. La quatrième colonne indique si le verrouillage autorise le détenteur à l'accès READ (lecture) ou WRITE (écriture) au fichier et la cinquième colonne montre l'identifiant du processus qui détient le verrouillage.

La sixième colonne montre l'identifiant du fichier verrouillé, sous la forme PERIPHERIQUE-MAJEUR:PERIPHERIQUE-MINEUR:NO.-INODE. La septième colonne indique le début et la fin de la région verrouillée du fichier. Les autres colonnes pointent vers des structures de données internes du noyau utilisées aux fins de débogage spécialisé et peuvent être ignorées.

/proc/mdstat

Ce fichier contient des informations sur les configurations RAID à disques multiples. Si votre système n'a pas ce genre de configuration, votre fichier mdstat ressemblera à ceci :

Personalities : 
read_ahead not set
unused devices: <none>

Il y a peu d'intérêt, à moins que vous n'ayez des périphériques md créés et en cours d'utilisation. Dans ce cas, vous pouvez utiliser mdstat pour avoir le cadre général de ce qu'il se passe avec vos périphériques mdX.

Le fichier /proc/mdstat suivant montre un système sur lequel md0 est configuré en tant que périphérique RAID 1. La resynchronisation des disques est en cours et le pourcentage du travail effectué et du temps prévu pour terminer est visible :

Personalities : [linear] [raid1]
read_ahead 1024 sectors
md0: active raid1 sda2[1] sdb2[0] 1943840 blocks [2/2] [UU] resync=1% finish=12.3min
algorithm 2 [3/3] [UUU]
unused devices: <none>

/proc/meminfo

Voici l'un des fichiers /proc les plus communément utilisés car il donne de nombreuses informations importantes sur l'utilisation actuelle de mémoire vive du système. Un système ayant 256 Mo de mémoire vive et 384 Mo d'espace swap pourrait avoir un fichier /proc/meminfo semblable à ceci :

        total:    used:    free:  shared: buffers:  cached:
Mem:  261709824 253407232  8302592        0 120745984 48689152
Swap: 402997248     8192 402989056
MemTotal:       255576 kB
MemFree:          8108 kB
MemShared:           0 kB
Buffers:        117916 kB
Cached:          47548 kB
Active:         135300 kB
Inact_dirty:     29276 kB
Inact_clean:       888 kB
Inact_target:        0 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:       255576 kB
LowFree:          8108 kB
SwapTotal:      393552 kB
SwapFree:       393544 kB

La plupart des informations dans cet exemple sont utilisées par la commande top. En fait, la sortie de la commande free est même similaire en apparence au contenu et à la structure de meminfo. En examinant directement meminfo, plus de détails sont révélés :

/proc/misc

Ce fichier affiche la liste des pilotes divers enregistrés sur le périphérique majeur divers, qui est le numéro 10 :

135 rtc
  1 psaux
134 apm_bios

La première colonne est le nombre mineur de chaque périphérique et la deuxième colonne indique le pilote utilisé.

/proc/modules

Ce fichier affiche une liste de tous les modules qui ont été chargés par le système. Son contenu varie en fonction de la configuration et de l'utilisation du système, mais il devrait être organisé de façon semblable à cet exemple du fichier /proc/modules :

tulip                  38544   1 (autoclean)
ide-cd                 26848   0 (autoclean)
cdrom                  27232   0 (autoclean) [ide-cd]
autofs                 11264   1 (autoclean)
ipchains               38976   0 (unused)
usb-uhci               20720   0 (unused)
usbcore                49664   1 [usb-uhci]

La première colonne contient le nom du module. La deuxième indique la taille de la mémoire du module, en octets. La troisième indique si le module est actuellement chargé (1) ou non chargé (0). La dernière colonne indique si le module peut se décharger automatiquement après une période d'inactivité (autoclean) ou s'il n'est pas utilisé (unused). Tout module ayant une ligne qui contient un nom entre parenthèses ([ ou ]) signifie que ce module dépend de la présence d'un autre module pour fonctionner.

/proc/mounts

Ce fichier fournit une liste de tous les montages utilisés par le système :

/dev/root / ext2 rw 0 0
/proc /proc proc rw 0 0
usbdevfs /proc/bus/usb usbdevfs rw 0 0
/dev/hda1 /boot ext2 rw 0 0
/dev/hda7 /home ext2 rw 0 0
none /dev/pts devpts rw 0 0
automount(pid696) /misc autofs rw 0 0

Cette sortie est semblable au contenu de /etc/mtab, sauf que /proc/mount peut être plus actuel.

La première colonne spécifie le périphérique monté et la deuxième colonne indique le point de montage. La troisième donne le type de système de fichiers et la quatrième vous indique s'il est monté en lecture seule (ro) ou en lecture et écriture (rw). Les cinquième et sixième colonnes sont des valeurs fictives conçues pour correspondre au format utilisé dans /etc/mtab.

/proc/mtrr

Ce fichier fait référence aux MTRR (Memory Type Range Registers) utilisés avec le système. Si votre architecture de système prend en charge les MTRR, votre fichier mtrr devrait avoir l'aspect suivant :

reg00: base=0x00000000 (   0MB), size=  64MB: write-back, count=1

Les MTRR sont utilisés avec les unités centrales de la famille P6 d'Intel (Pentium Pro et supérieur) pour contrôler l'accès de l'unité centrale aux gammes de mémoire. En utilisant une carte vidéo sur un bus PCI ou ACP, un fichier mtrr correctement configuré peut augmenter les performances de plus de 150 %.

Dans la plupart des cas, cette valeur est correctement configurée pour vous. Pour avoir plus de renseignements sur les MTRR et la configuration manuelle de ce fichier, reportez-vous à http://web1.linuxhq.com/kernel/v2.3/doc/mtrr.txt.html.

/proc/partitions

Fournit des informations très détaillées sur les différentes partitions actuellement disponibles sur le système :

major minor  #blocks  name     rio rmerge rsect ruse wio wmerge wsect wuse running use aveq

   3     0    6297480 hda 103927 109145 1549044 1461980 66873 30417 780568 6041420 0 1689360 7506660
   3     1      56196 hda1 299 1995 4588 1300 17 9 52 5450 0 5210 6750
   3     2          1 hda2 0 0 0 0 0 0 0 0 0 0 0
   3     5    4610623 hda5 95638 62150 1262322 1304320 63580 16715 644512 5399710 0 1614680 6704110
   3     6     136521 hda6 6808 22109 231336 148110 2384 13484 127608 485020 0 108750 636310
   3     7    1494013 hda7 1182 22891 50798 8250 892 209 8396 151240 0 86990 159490

La plupart de ces informations n'ont aucune importance pour les utilisateurs, à l'exception des deux lignes suivantes :

/proc/pci

Ce fichier contient une liste complète des périphériques PCI sur votre système. Evidemment, selon que vous ayez de nombreux périphériques PCI sur votre système ou non, /proc/pci peut être assez long. Voici un exemple de ce fichier sur un système de base :

  Bus  0, device   0, function  0:
    Host bridge: Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge (rev 3).
      Master Capable.  Latency=64.  
      Prefetchable 32 bit memory at 0xe4000000 [0xe7ffffff].
  Bus  0, device   1, function  0:
    PCI bridge: Intel Corporation 440BX/ZX - 82443BX/ZX AGP bridge (rev 3).
      Master Capable.  Latency=64.  Min Gnt=128.
  Bus  0, device   4, function  0:
    ISA bridge: Intel Corporation 82371AB PIIX4 ISA (rev 2).
  Bus  0, device   4, function  1:
    IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev 1).
      Master Capable.  Latency=32.  
      I/O at 0xd800 [0xd80f].
  Bus  0, device   4, function  2:
    USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 1).
      IRQ 5.
      Master Capable.  Latency=32.  
      I/O at 0xd400 [0xd41f].
  Bus  0, device   4, function  3:
    Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 2).
      IRQ 9.
  Bus  0, device   9, function  0:
    Ethernet controller: Lite-On Communications Inc LNE100TX (rev 33).
      IRQ 5.
      Master Capable.  Latency=32.  
      I/O at 0xd000 [0xd0ff].
      Non-prefetchable 32 bit memory at 0xe3000000 [0xe30000ff].
  Bus  0, device  12, function  0:
    VGA compatible controller: S3 Inc. ViRGE/DX or /GX (rev 1).
      IRQ 11.
      Master Capable.  Latency=32.  Min Gnt=4.Max Lat=255.
      Non-prefetchable 32 bit memory at 0xdc000000 [0xdfffffff].

Cette sortie affiche une liste de tous les périphériques PCI, triés par ordre de bus, périphérique et fonction. En plus de fournir le nom et la version du périphérique, ce qui est toujours bon à savoir lorsque vous oubliez la marque de votre carte d'interface réseau, cette liste vous donne des informations IRQ détaillées afin que vous puissiez détecter rapidement des conflits.

/proc/slabinfo

Ce fichier fournit des informations sur l'utilisation de la mémoire au niveau bloc (slab). Les noyaux Linux supérieurs à 2.2 utilisent des " groupes d'emplacement mémoire de type bloc " pour gérer la mémoire au-dessus du niveau page. Les objets couramment utilisés ont leurs propres groupes d'emplacement mémoire de type bloc.

Le fichier /proc/slabinfo peut être passablement long, mais il commence à peu près de cette façon :

slabinfo - version: 1.1
kmem_cache            59     78    100    2    2    1
ip_fib_hash           10    113     32    1    1    1
ip_conntrack           0      0    352    0    0    1
urb_priv               0      0     32    0    0    1
uhci_desc           1038   1062     64   18   18    1
clip_arp_cache         0      0    128    0    0    1
ip_mrt_cache           0      0     96    0    0    1
tcp_tw_bucket          0      0    128    0    0    1
tcp_bind_bucket        6    113     32    1    1    1
tcp_open_request       0      0     96    0    0    1
inet_peer_cache        0      0     64    0    0    1
ip_dst_cache          26     40    192    2    2    1

Les valeurs dans ce fichier sont présentées selon l'ordre suivant : nom de cache, nombre d'objets actifs, nombre total d'objets, taille des objets, nombre de blocs (slabs) actifs des objets, nombre total de blocs des objets et nombre de pages par bloc.

Il est à noter qu'actif dans ce cas signifie " utilisé ". Un objet actif est un objet en cours d'utilisation et un bloc actif est un bloc qui contient des objets en cours d'utilisation.

/proc/stat

Ce fichier effectue le suivi de différentes statistiques sur le système depuis le dernier redémarrage. Le contenu de /proc/stat, qui peut être plutôt long, commence de la façon suivante :

cpu  7361636 3040186 1150480 23431255
cpu0 7361636 3040186 1150480 23431255
page 213089 98198
swap 28914 15951
intr 37566857 34983557 1313 0 4 4 128683   <CONTENT-SNIPPED>
disk_io: (3,0):(171639,103942,1549132,67697,784888) 
ctxt 323724291
btime 988921599
processes 14882
kstat.input_fastpath: 0
kstat.input_slowpath: 0
kstat.inputqueue_got_packet: 0
kstat.inputqueue_no_packet: 0

Voici certaines des statistiques les plus appréciées :

/proc/swaps

Ce fichier mesure l'espace swap et son utilisation. Pour un système n'ayant qu'une seule partition swap, la sortie de /proc/swap peut ressembler à ceci :

Filename			Type		Size	Used	Priority
/dev/hda6                       partition	136512	20024	-1

Bien que certaines de ces informations peuvent être obtenues à l'aide d'autres fichiers /proc, swap fournit un instantané rapide de chaque nom de fichier swap, du type d'espace swap et des tailles totales et utilisées (en Ko). La colonne " Priority " est utile lorsque plusieurs fichiers swap sont utilisés et que certains d'entre eux sont préférés par rapport aux autres (s'ils sont sur des disques durs plus rapides par exemple). Plus la priorité est basse, plus il est possible que le fichier swap correspondant soit utilisé.

/proc/uptime

Ce fichier contient des informations sur le temps de fonctionnement du système depuis le dernier redémarrage. La sortie de /proc/uptime est assez courte :

350735.47 234388.90

Le premier nombre vous indique le nombre total de secondes de fonctionnement depuis le démarrage. Le second vous indique, en secondes également, la période d'inactivité.

/proc/version

Ce fichier vous indique les versions du noyau Linux et de gcc, de même que la version de Red Hat Linux installée sur le système :

Linux version 2.4.2-2 (root@porky.devel.redhat.com) (gcc version 2.96 20000731
(Red Hat Linux 7.1 2.96-79)) #1 Sun Apr 8 20:41:30 EDT 2001

Ces informations ont diverses utilités, telles que de fournir des données sur la version à l'invite de connexion standard.