| Red Hat Linux 7.2: Guide de référence Red Hat Linux officiel | ||
|---|---|---|
| Précédent | Chapitre 4. Le système de fichiers /proc | Suivant |
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é.
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.
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 :
BOOT_IMAGE=linux, qui vous indique le nom de l'image utilisée pour démarrer l'ordinateur ;
ro, qui signifie que le noyau est chargé en lecture seule ;
BOOT_FILE=/boot/vmlinuz-2.4.2-2, qui indique le fichier du noyau Linux utilisé pour démarrer le système.
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 :
processor — Fournit à chaque unité centrale un numéro d'identification. Si vous n'avez qu'une seule unité centrale, ce numéro sera 0. Par contre, si votre ordinateur est doté de plusieurs unités centrales, chacune aura son propre numéro, augmentant de 1 pour chaque unité, et sa propre série d'informations.
cpu family — Indique le type d'unité centrale que vous avez sur le système. Vous n'avez qu'à placer le numéro devant le « 86 » pour calculer la valeur. Cela est particulièrement pratique si vous vous interrogez sur l'architecture d'un système plus ancien (686, 586, 486 ou 386). Comme des paquetages RPM sont compilés à l'occasion pour des architectures particulières, cette valeur vous indique quels paquetages installer sur le système.
model name — Donne le nom communément utilisé de l'unité centrale, de même que son nom de projet.
cpu MHz — Indique la vitesse précise en MHz de cette unité centrale (en millièmes).
cache size — Indique la quantité de mémoire cache de niveau 2 disponible pour l'unité centrale.
flags — Définit un certain nombre de caractéristiques de l'unité centrale, telles que la présence d'une unité de calcul en virgule flottante (FPU) et la capacité de traiter des instructions MMX.
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.
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 |
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.
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 |
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.
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 :
XT-PIC — Anciennes interruptions d'ordinateurs AT qui ont longtemps été en circulation.
IO-APIC-edge — Signal de voltage sur des transitions d'interruption de bas à élevé, créant une dénivellation là où l'interruption a lieu et n'étant signalé qu'une seule fois. Ce genre d'interruption, de même que l'interruption IO-APIC-level, ne se rencontrent que sur des systèmes ayant des unités centrales de la famille 586 ou plus.
IO-APIC-level — Génère des interruptions lorsque le signal de voltage devient élevé, jusqu'à ce que le signal redevienne bas.
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.
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.
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.
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.
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.
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.
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é.
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.
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> |
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 :
Mem — Etat courant de la mémoire vive du système, ainsi qu'une division de l'utilisation en octets des mémoires totale, utilisée, libre, partagée, tampon et cache.
Swap — Quantité totale, utilisée et libre d'espace swap, en octets.
MemTotal — Quantité totale de mémoire vive, en Ko.
MemFree — Quantité de mémoire vive, en Ko, non utilisée par le système.
MemShared — Non utilisé avec les noyaux 2.4 ou supérieurs, mais gardé pour des raisons de compatibilité avec les versions de noyau précédentes.
Buffers — Quantité de mémoire vive, en Ko, utilisée pour les tampons de fichier.
Cached — Quantité de mémoire vive, en Ko, utilisée comme mémoire cache.
Active — Quantité totale de tampon ou de mémoire cache de pages, en Ko, en utilisation active.
Inact_dirty — Quantité totale de tampon ou de mémoire cache de pages, en Ko, qui peut être libérée.
Inact_clean — Quantité totale de tampon ou de mémoire cache de pages, en Ko, qui est réellement libre et disponible.
Inact_target — La quantité nette d'attributions par seconde, en Ko, sous forme de moyenne par minute.
HighTotal et HighFree — Quantité totale et libre de mémoire, respectivement, qui n'est pas directement mappée dans l'espace du noyau. La valeur HighTotal peut varier en fonction du type de noyau utilisé.
LowTotal et LowFree — Quantité totale et libre de mémoire, respectivement, qui est directement mappée dans l'espace du noyau. La valeur LowTotal peut varier en fonction du type de noyau utilisé.
SwapTotal — Quantité totale de mémoire swap disponible, en Ko.
SwapFree — Quantité totale de mémoire swap libre, en Ko.
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é.
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.
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.
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.
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 :
major — Nombre majeur du périphérique avec cette partition. Le nombre majeur dans cet exemple (3) correspond au périphérique ide0 dans /proc/devices, ce qui nous permet de savoir le type de pilote de périphérique utilisé pour interagir avec cette partition.
minor — Nombre mineur du périphérique avec cette partition. Cela permet de séparer les partitions en différents périphériques physiques et fait référence au nombre situé à la fin du nom de la partition.
#blocks — Fournit la liste du nombre de blocs de disque physique contenus dans une partition donnée.
name — Nom de la partition.
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.
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.
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 :
cpu — Nombre de jiffies (1/100 de seconde) pendant lequel le système a été en mode utilisateur, mode utilisateur avec basse priorité (nice), mode système et au repos. Le total pour chacune des unités centrales est donné au sommet et chaque unité centrale individuelle est énumérée en dessous avec ses propres statistiques.
page — Nombre de pages que le système a allouées vers et depuis le disque.
swap — Nombre de pages échangées par le système.
intr — Nombre d'interruptions qu'a subi le système.
btime — Moment de démarrage, mesuré en nombre de secondes écoulées depuis le 1er janvier 1970, ce que l'on appelle aussi parfois l'époque.
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é.
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é.
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.
| Précédent | Sommaire | Suivant |
| Le système de fichiers /proc | Niveau supérieur | Répertoires dans /proc |