- /proc/[nombre]
-
Il existe un sous-répertoire pour chaque processus en cours.
Le sous-répertoire rend comme nom le PID du processus.
Chaque sous-répertoire contient les pseudo-fichiers
et pseudo-répertoires suivants.
- /proc/[number]/auxv (depuis 2.6.0-test7)
-
Celui-ci contient les informations de l'interpréteur ELF passées
au processus au moment de l'exécution.
Le format est un ID de type unsigned long
plus une valeur de type unsigned long pour chaque entrée.
La dernière entrée contient deux zéros.
- /proc/[nombre]/cmdline
-
Ce fichier contient la ligne de commande complète du processus,
sauf si le processus est un zombie.
Dans ce dernier cas, il n'y a rien dans le fichier :
une lecture reviendra après avoir lu 0 caractère.
Les arguments de la ligne de commande apparaîssent comme un ensemble de
chaînes séparées de caractères NUL, avec un octet NUL supplémentaire
après le dernier argument.
- /proc/[nombre]/cwd (Current Working Directory)
-
Il s'agit d'un lien symbolique sur le répertoire de travail
courant du processus.
Pour obtenir le cwd du processus 20 par exemple, vous pouvez-faire ceci :
cd /proc/20/cwd; /bin/pwd
Notez que la commande directe
pwd
est souvent une commande interne du
shell, et qu'elle risque de ne pas fonctionner correctement.
Avec Bash, utilisez pwd -P.
Dans un processus multithread, le contenu de ce lien symbolique
n'est plus disponible si le thread principal est déjà terminé
(typiquement en appelant
pthread_exit(3).
- /proc/[nombre]/environ
-
Ce fichier contient l'environnement du processus.
Les entrées sont séparées par des octets nuls (« \0 »),
et il devrait y en avoir un à la fin du fichier.
Ainsi, pour afficher l'environnement du processus numéro 1, utilisez :
(cat /proc/1/environ; echo) | tr "\000" "\n"
(Pour savoir à quoi cela peut bien servir, voyez
lilo(8)
ou
grub(8).)
- /proc/[nombre]/exe
-
Sous Linux 2.2 et 2.4, ce fichier est un lien symbolique
représentant le chemin réel de la commande en cours d'exécution.
Ce lien symbolique peut être déréférencé normalement ;
tenter de l'ouvrir fera que l'on ouvrira le fichier exécutable.
Vous pouvez même taper
/proc/[pid]/exe
pour lancer une copie du même processus que celui du pid indiqué.
Dans un processus multithread, le contenu de ce lien symbolique
n'est plus disponible si le thread principal est déjà terminé
(typiquement en appelant
pthread_exit(3)).
Sous Linux 2.0 et précédents,
/proc/[nombre]/exe
était un pointeur sur le fichier binaire exécuté,
qui apparaîssait sous forme de lien symbolique.
Un appel système
readlink(2)
sur ce fichier renvoyait une chaîne de la forme :
[périphérique]:inoeud
Par exemple, [0301]:1502 correspond à l'i-noeud 1502
sur le périphérique de numéro majeur 03 (disque IDE, MFM, etc.)
et mineur 01 (première partition du premier disque).
On peut utiliser
find(1)
avec l'option -inum pour retrouver le fichier exécutable
à partir du numéro d'i-noeud.
- /proc/[nombre]/fd
-
Il s'agit d'un sous-répertoire contenant une entrée pour chaque fichier
que le processus a ouvert.
Chaque entrée a le descripteur du fichier pour nom, et est représentée
par un lien symbolique sur le vrai fichier.
Ainsi, 0 correspond à l'entrée standard, 1 à la sortie standard,
2 à la sortie d'erreur, etc...
Dans un processus multithread, le contenu de ce lien symbolique
n'est plus disponible si le thread principal est déjà terminé
(typiquement en appelant
pthread_exit(3)).
Les programmes qui prennent un nom de fichier d'entrée mais qui ne lisent
pas l'entrée standard, ou qui écrivent dans un fichier sans écrire
sur la sortie standard peuvent être trompés ainsi (on suppose que
l'option -e indique le nom du fichier d'entrée et l'option -s le
nom du fichier de sortie) :
foobar -e /proc/self/fd/0 -s /proc/self/fd/1 ...
Ceci transforme le programme en filtre.
/proc/self/fd/N
est approximativement la même chose que
/dev/fd/N
dans certains systèmes UNIX et pseudo-UNIX.
D'ailleurs la plupart des scripts MAKEDEV de Linux lient symboliquement
/dev/fd
sur
[..]/proc/self/fd.
- /proc/[nombre]/maps
-
Un fichier contenant les régions mémoire actuellement projetées et
leurs autorisations d'accès.
Le format est :
adresses perm. décalage périph i-noeud chemin d'accès
08048000-08056000 r-xp 00000000 03:0c 64593 /usr/sbin/gpm
08056000-08058000 rw-p 0000d000 03:0c 64593 /usr/sbin/gpm
08058000-0805b000 rwxp 00000000 00:00 0
40000000-40013000 r_-xp 00000000 03:0c 4165 /lib/ld-2.2.4.so
40013000-40015000 rw-p 00012000 03:0c 4165 /lib/ld-2.2.4.so
4001f000-40135000 r-xp 00000000 03:0c 45494 /lib/libc-2.2.4.so
40135000-4013e000 rw-p 00115000 03:0c 45494 /lib/libc-2.2.4.so
4013e000-40142000 rw-p 00000000 00:00 0
bffff000-c0000000 rwxp 00000000 00:00 0
Où adresses correspond à l'espace d'adressage du processus
qui l'occupe, perm est un ensemble d'autorisations :
r = lecture
w = écriture
x = exécution
s = partage
p = privé (copie si écriture)
Le décalage se mesure dans le fichier,
périph correspond à la paire (majeur:mineur),
et l'i-noeud se trouve sur ce périphérique.
0 signifie qu'aucun i-noeud n'est associé avec cette zone mémoire,
comme c'est le cas avec bss.
Sous Linux 2.0, il n'y a pas de champ indiquant le chemin d'accès.
- /proc/[nombre]/mem
-
Ce fichier peut être utilisé
pour accéder à la mémoire d'un processus, au travers des appels
open(2),
read(2),
et
lseek(2).
- /proc/[nombre]/root
-
Linux, et Unix en général, supporte une notion de racine du système
de fichiers pour chaque processus, configurable avec l'appel système
chroot(2).
Ce fichier est un lien symbolique qui pointe sur le répertoire
racine du processus, et se comporte comme exe, fd/*...
Dans un processus multithread, le contenu de ce lien symbolique
n'est plus disponible si le thread principal est déjà terminé
(typiquement en appelant
pthread_exit(3)).
- /proc/[nombre]/smaps (depuis Linux 2.6.14)
-
Ce fichier montre la consommation mémoire
pour chacune des projections de processus.
Pour chaque projection, il y a une série de lignes du style :
08048000-080bc000 r-xp 00000000 03:02 13130 /bin/bash
Size: 464 kB
Rss: 424 kB
Shared_Clean: 424 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 0 kB
La première de ces lignes montre la même information
que celle affichée pour la projection dans
/proc/[nombre]/maps.
Les autres lignes montre la taille de la projection,
la quantité de projection qui réside actuellement en RAM,
le nombre de pages partagées « propres » et « sales »
dans la projection et le nombre de pages privées « propres »
et « sales » dans la projection.
Ce fichier n'est présent que si l'option
de configuration du noyau
CONFIG_MMU
est activée.
- /proc/[nombre]/stat
-
Informations sur l'état du processus.
Ceci est utilisé par
ps(1).
La définition se trouve dans
/usr/src/linux/fs/proc/array.c.
Les champs sont, dans l'ordre, et avec leurs formats de type
scanf(3) :
-
- pid %d
-
L'ID du processus
- comm %s
-
Le nom du fichier exécutable entre parenthèses,
que l'exécutable soit swappé ou non.
- state %c
-
Un caractère parmi « RSDZTW » indiquant si le processus est en cours
d'exécution (R running), endormi dans un état interruptible (S sleeping),
endormi de manière ininterruptible (D), zombie (Z), suivi pour débogage
ou arrêté par un signal (T traced) ou swappé (W).
- ppid %d
-
Le PID du processus parent.
- pgrp %d
-
L'ID du groupe de processus.
- session %d
-
L'ID de session du processus.
-
-
tty_nr %d
Le tty que le processus utilise.
- tpgid %d
-
L'ID de groupe du processus contrôlant
le terminal auquel le processus est connecté.
- flags %u (%lu avant Linux 2.6.22)
-
Le mot attribut noyau du processus.
Pour en savoir plus, voir les définitions PF_* dans
<linux/sched.h>.
Les détails dépendent de la version du noyau.
- minflt %lu
-
Le nombre de fautes mineures que le processus a déclenchées --- celles
qui n'ont pas nécessité de chargement de page depuis le disque.
- cminflt %lu
-
Le nombre de fautes mineures commises par le processus et ses descendants.
- majflt %lu
-
Le nombre de fautes majeures que le processus a déclenchées --- celles
qui ont nécessité un chargement de page depuis le disque.
- cmajflt %lu
-
Le nombre de fautes majeures commises par le processus et ses descendants.
- utime %ld
-
Le temps passé (nombre de jiffies) en mode utilisateur par le processus.
- stime %ld
-
Le temps passé en mode noyau par le processus.
- cutime %ld
-
Le temps passé en mode utilisateur par le processus et ses descendants.
- cstime %ld
-
Le temps passé en mode noyau par le processus et ses descendants.
- priority %ld
-
La valeur de courtoisie standard ; jamais négative
dans le noyau.
- nice %ld
-
La valeur de courtoisie dans l'intervalle 19 (courtois) à -19 (agressif).
-
-
num_threads %ld
Nombre de threads dans ce processus (depuis Linux 2.6).
Avant le noyau 2.6, ce champ avait une valeur zéro codée en dur pour
remplacer un champ supprimé.
- itrealvalue %lu
-
La durée (en nombre de jiffies) avant le prochain signal
SIGALRM
envoyé au processus par un timer.
depuis Linux 2.6.17, ce champ n'est plus maintenu et a une valeur de
zéro codée en dur.
- starttime %ld
-
Temps (en jiffies) auquel le processus a démarré depuis le boot du système.
- vsize %llu (était %lu avant Linux 2.6)
-
Taille de la mémoire virtuelle en octets.
- rss %lu
-
RSS.
Taille de l'ensemble résident : nombre de pages dont le processus dispose
en mémoire réelle, moins 3 pour des raisons administratives.
Il s'agit juste des pages contenant les espaces de code, donnée et pile.
Ceci n'inclut ni les pages en attente de chargement
ni celles qui ont été swappées.
- rlim %lu
-
Limite actuelle en octets du RSS du processus (classiquement
2,147,483,647).
- startcode %lu
-
Adresse au-dessus de laquelle le code du programme peut s'exécuter.
- endcode %lu
-
Adresse en-dessous de laquelle le code du programme peut s'exécuter.
- startstack %lu
-
Adresse de début de la pile.
- kstkesp %lu
-
Valeur actuelle du pointeur de pile 32 bits ESP, telle qu'on la trouve
dans la page de pile du noyau pour ce processus.
- kstkeip %lu
-
EIP actuel (Pointeur d'instructions 32 bits).
- signal %ld
-
Masque des signaux en attente.
- blocked %ld
-
Masque des signaux bloqués.
- sigignore %ld
-
Masque des signaux ignorés.
- sigcatch %ld
-
Masque des signaux interceptés.
- wchan %lu
-
Il s'agit du « canal » sur lequel le processus attend.
C'est l'adresse d'un appel système, dont on peut retrouver le nom
dans une table si besoin (il faut avoir un fichier
/etc/psdatabase
à jour, et essayer ps -l pour voir le champ WCHAN).
- nswap %lu
-
Nombre de pages swappées (non maintenu).
- cnswap %lu
-
Champ nswap cumulé avec les processus enfants (non maintenu).
- exit_signal %d (depuis Linux 2.1.22)
-
Signal à envoyer au parent lors de la mort du processus.
- processor %d (depuis Linux 2.2.8)
-
Numéro du processeur utilisé lors de la dernière exécution.
-
-
rt_priority %u (depuis Linux 2.5.19 ; était %lu avant Linux 2.6.22)
Priorité d'ordonnancement temps réel (voir
sched_setscheduler(2)).
-
-
policy %u (depuis Linux 2.5.19 ; était %lu avant Linux 2.6.22)
Politique d'ordonnancement (voir
sched_setscheduler(2)).
- delayacct_blkio_ticks %llu (depuis Linux 2.6.18)
-
Retard d'E/S des blocs agglomérés, mesuré en ticks d'horloge
(centièmes de secondes).
- /proc/[nombre]/statm
-
Fournit des informations sur l'état des pages mémoire.
Les colonnes sont :
size taille totale du programme
resident taille résidant en mémoire
share pages partagées
text taille du code (segment text)
lib bibliothèques
data données et pile
dt pages touchées (marquées dirty)
- /proc/[nombre]/status
-
Fournit l'essentiel des informations de
/proc/[nombre]/stat
et
/proc/[nombre]/statm
dans un format plus facile à lire pour les humains.
- /proc/[nombre]/task (depuis Linux 2.6.0-test6)
-
C'est un répertoire qui contient un sous-répertoire pour chaque thread du
processus.
Le nom de chaque sous-répertoire est la valeur numérique du TID du thread
(voir
gettid(2)).
Dans chacun de ces sous-répertoires, il y a un ensemble de fichiers
avec le même nom et contenu que dans les répertoires
/proc/[nombre].
Pour les attributs qui sont partagés par tous les threads, le contenu de
chacun des fichiers des sous-répertoires
task/[thread-ID]
sera le même que le fichier correspondant dans le répertoire parent
/proc/[nombre]
(par exemple, dans un processus multithread, tous les fichiers
task/[thread-ID]/cwd
auront la même valeur que le fichier
/proc/[nombre]/cwd
dans le répertoire parent, puisque tous les threads d'un processus
partagent un répertoire de travail).
Pour les attributs qui sont différents pour chaque thread,
les fichiers correspondant dans
task/[thread-ID]
peuvent avoir des valeurs différentes (par exemple,
les divers champs dans chacun des fichiers
task/[thread-ID]/status
peuvent être différent pour chaque thread).
Dans un processus multithread, le contenu du répertoire
/proc/[nombre]/task
n'est plus disponible si le thread principal est déjà terminé
(typiquement en appelant
pthread_exit(3)).
- /proc/apm
-
La version du système de gestion de puissance APM et les informations
sur l'état de la batterie si la constante
CONFIG_APM
était définie à la compilation du noyau.
- /proc/bus
-
Contient des sous-répertoires pour les bus installés.
- /proc/bus/pccard
-
Répertoire pour les périphériques PCMCIA si la constante
CONFIG_PCMCIA
était définie à la compilation du noyau.
- /proc/bus/pccard/drivers
-
- /proc/bus/pci
-
Contient divers sous-répertoires de bus, et des pseudo-fichiers
recélant des informations sur les bus pci, les périphériques installés
et leurs pilotes.
Certains de ces fichiers ne sont pas en Ascii pur.
- /proc/bus/pci/devices
-
Informations sur les périphériques pci.
Peut-être consulté grâce à
lspci(8)
et
setpci(8).
- /proc/cmdline
-
Arguments passés au noyau Linux lors du boot.
Généralement par l'intermédiaire d'un gestionnaire de boot comme
lilo(1).
- /proc/cpuinfo
-
Il s'agit d'informations dépendantes de l'architecture et du processeur
utilisé.
Les deux seules entrées toujours présentes sont processor
qui donne le nombre de processeurs et bogomips,
une constante système calculée pendant l'initialisation du noyau.
Les machines SMP ont une ligne d'information pour chaque processeur.
- /proc/devices
-
Liste littérale des groupes de périphériques et des numéros majeurs.
Ceci peut servir dans les scripts MAKEDEV pour rester cohérent
avec le noyau.
- /proc/diskstats (depuis Linux 2.5.69)
-
Ce fichier contient les statistiques d'entrées-sorties du disque
pour chaque périphérique disque.
Voir le fichier fourni avec les sources du noyau
Documentation/iostats.txt
pour plus d'information.
- /proc/dma
-
Il s'agit d'une liste des canaux DMA (Direct Memory Acess) ISA
en cours d'utilisation.
- /proc/driver
-
Répertoire vide.
- /proc/execdomains
-
Liste des domaines d'exécution (personnalités).
- /proc/fb
-
Information sur la mémoire d'écran Frame Buffer, lorsque la constante
CONFIG_FB
a été définie lors de la compilation du noyau.
- /proc/filesystems
-
Une liste des systèmes de fichiers qui sont pris en charge par le noyau,
à savoir des systèmes de fichiers qui ont été compilé dans le noyau
ou dont les modules du noyau sont actuellement chargés.
(Voir aussi
filesystems(5).)
Si un système de fichiers est marqué « nodev », cela signifie qu'il
n'a pas besoin qu'un périphérique de blocs soit monté
(par exemple, système de fichier virtuel, système de fichier réseau).
Par incidence, ce fichier peut être utilisé par
mount(8)
lorsqu'aucun système de fichiers n'est spécifié et qu'il n'a pas réussi
à déterminer le système de fichier.
Ensuite, il essaye les systèmes de fichiers présents dans ce fichier
(excepté ceux marqués « nodev »).
Par exemple, ceci sert à
mount(8)
pour essayer les différents systèmes de fichiers
si on ne lui précise rien.
- /proc/fs
-
Sous-répertoire vide.
- /proc/ide
-
Le répertoire
/proc/ide
existe sur les systèmes ayant un bus IDE.
Il y a des sous-répertoires pour chaque canal IDE
et les périphériques attachés.
Les fichiers contiennent :
cache taille du tampon en ko
capacity nombre de secteurs
driver version du pilote
geometry géométries physique et logique
identify identification en hexadécimal
media type de support
model numéro de fabricant
settings configuration du pilote
smart_thresholds seuils en hexadécimal
smart_values paramètres in hexadécimal
L'utilitaire
hdparm(8)
fournit un accès convivial à ces informations.
- /proc/interrupts
-
Il s'agit du nombre d'interruptions reçues pour chaque IRQ sur les
architectures i386 (au moins). Format facile à lire, en ASCII.
- /proc/iomem
-
Projection des entrées-sorties en mémoire, depuis Linux 2.4.
- /proc/ioports
-
Il s'agit d'une liste des régions d'entrées-sorties en cours d'utilisation.
- /proc/kallsyms (depuis Linux 2.5.71)
-
Ce fichier contient les symboles exportés par le noyau et
utilisés par les outils des
modules(X)
pour assurer l'édition dynamique des liens des modules chargeables.
Dans Linux 2.5.47 et précédents, un fichier similaire avec une syntaxe
légèrement différente s'appelait
ksyms.
- /proc/kcore
-
Ce fichier représente la mémoire physique du système
sous forme de fichier ELF core.
À l'aide de ce pseudo-fichier et d'un binaire du noyau non
stripé
(/usr/src/linux/vmlinux),
gdb(1)
peut servir à inspecter l'état de n'importe
quelle structure de données du noyau.
La longueur totale de ce fichier est la taille de la mémoire RAM physique
plus 4 Ko.
- /proc/kmsg
-
Ce fichier peut être utilisé à la place de l'appel système
syslog(2)
pour journaliser les messages du noyau.
Un processus doit avoir les privilèges superutilisateur pour lire
ce fichier, et un seul processus à la fois peut le lire.
On NE DOIT PAS lire ce fichier si un processus
syslogd tourne et utilise l'appel système
syslog(2)
pour journaliser les messages du noyau.
Les informations de ce fichier sont consultés par le programme
dmesg(8).
- /proc/ksyms (Linux 1.1.23-2.5.47)
-
Voir
/proc/kallsyms.
- /proc/loadavg
-
Les trois premiers champs de ce fichier sont les charges système indiquant
le nombre de tâches dans la file d'attente d'exécution (état R) ou en
attente d'entrées-sorties disque (état D) moyennées sur 1, 5,
et 15 minutes.
Il s'agit des informations fournies, par exemple, par le programme
uptime(1).
Le quatrième champ consiste en deux nombres séparés par une barre oblique
« / ».
Le premier de ces nombres est le nombre d'entitées noyau ordonnancées
en cours d'exécution (processus, threads) ;
il doit être inférieur ou égal au nombre de CPU.
La valeur après la barre oblique est le nombre d'entitées noyau
ordonnancées existant actuellement sur le système.
Le cinquième champ est le PID du dernier processus créé sur le système.
- /proc/locks
-
Ce fichier montre les verrouillages actuels des fichiers.
(flock(2) et fcntl(2)).
- /proc/malloc (seulement jusqu'à Linux 2.2 y compris)
-
Ce fichier n'est présent que si
CONFIG_DEBUG_MALLOC
a été définie lors de la compilation du noyau.
- /proc/meminfo
-
Sert au programme
free(1)
pour indiquer les quantités de mémoires (physique et swap) libres
et utilisées, ainsi que la mémoire partagée et les tampons utilisés
par le noyau.
Ce fichier se présente sous la même forme que
free(1)
mais en octets et non pas en Ko.
- /proc/mounts
-
Il s'agit d'une liste de tous les systèmes de fichiers
actuellement montés sur le système.
Le format de ce fichier est documenté dans
fstab(5).
Depuis la version 2.6.15 du noyau, ce fichier est « pollable » :
après l'ouverture du fichier en lecture, une modification dans ce fichier
(c'est-à-dire un montage ou démontage du système de fichier) fera que
select(2)
marquera le descripteur de fichier comme lisible, et
poll(2)
et
epoll_wait(2)
marqueront le fichier comme ayant une condition d'erreur.
- /proc/modules
-
Une liste littérale des modules qui ont été chargés par le système.
Voir
lsmod(8).
- /proc/mtrr
-
Memory Type Range Registers.
Voir
/usr/src/linux/Documentation/mtrr.txt
pour des détails.
- /proc/net
-
Ce répertoire regroupe divers pseudo-fichiers relatifs aux
fonctionnalités réseau.
Chaque fichier fournit des informations concernant
une couche particulière.
Ces fichiers sont en ASCII et sont donc lisible grâce à
cat(1),
mais le programme standard
netstat(8)
fournit un accès plus propre à ces données.
- /proc/net/arp
-
Ce fichier contient un affichage ASCII lisible des tables ARP du
noyau servant à la résolution d'adresse.
Il indique à la fois les entrées apprises dynamiquement
et celles pré-programmées.
Le format est le suivant :
Adresse IP Matériel Attribut Adresse matérielle Masque Périph.
192.168.0.50 0x1 0x2 00:50:BF:25:68:F3 * eth0
192.168.0.250 0x1 0xc 00:00:00:00:00:00 * eth0
Où l'adresse IPv4 est celle de la machine,
le type de matériel est issu de la RFC 826.
L'attribut est le cham
arp_flags
interne de la structure ARP (définie dans
</usr/include/linux/if_arp.h>)
et l'adresse matérielle est celle de la couche physique
de l'adaptateur correspondant à l'adresse IP (si elle est connue).
- /proc/net/dev
-
Ce pseudo-fichier contient des informations d'état sur les périphériques
réseau.
On y trouve les nombres de paquets émis et reçus, le nombre d'erreurs
et de collisions, ainsi que d'autres données statistiques.
Ce fichier est utilisé par le programme
ifconfig(8).
Le format est le suivant :
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 2776770 11307 0 0 0 0 0 0 2776770 11307 0 0 0 0 0 0
eth0: 1215645 2751 0 0 0 0 0 0 1782404 4324 0 0 0 427 0 0
ppp0: 1622270 5552 1 0 0 0 0 0 354130 5669 0 0 0 0 0 0
tap0: 7714 81 0 0 0 0 0 0 7714 81 0 0 0 0 0 0
- /proc/net/dev_mcast
-
Définie dans
/usr/src/linux/net/core/dev_mcast.c :
indx ifterface_name dmi_u dmi_g dmi_address
2 eth0 1 0 01005e000001
3 eth1 1 0 01005e000001
4 eth2 1 0 01005e000001
- /proc/net/igmp
-
Protocole Internet Group Management Protocol.
Défini dans
/usr/src/linux/net/core/igmp.c.
- /proc/net/rarp
-
Ce fichier emploie le même format que le fichier
arp,
et contient la projection inverse de la base de données utilisée
pour fournir les services de recherche inversée de
rarp(8).
Si RARP n'est pas configuré dans le noyau, ce fichier est absent.
- /proc/net/raw
-
Fournit une copie de la table des sockets RAW (brutes).
La plupart des informations ne sert que pour le débogage.
La valeur « sl » est l'emplacement de la socket
dans la table de hachage du noyau.
Le champ « local_address » contient l'adresse locale
ainsi que le numéro du protocole utilisé.
« St » est l'état interne de la socket.
Les « tx_queue » et « rx_queue » représentent les files d'attente
en émission et en réception, en terme d'utilisation mémoire par le noyau.
Les champs « tr », « tr->when » et « rexmits »
ne sont pas utilisés par RAW.
Le champ « uid » contient l'identificateur EUID du créateur de la socket.
- /proc/net/snmp
-
Ce fichier contient les données ASCII nécessaires pour les bases
d'information d'un agent SNMP pour la gestion de IP, ICMP, TCP et UDP.
- /proc/net/tcp
-
Contient une copie de la table des socket TCP.
La plupart des informations ne sert que pour le débogage.
La valeur « sl » est l'emplacement de la socket
dans la table de hachage du noyau.
Le champ « local_address » contient l'adresse locale
ainsi que le numéro de port.
Le champ « remote_address » contient l'adresse distante
et le numéro de port (si la socket est connectée).
« St » est l'état interne de la socket.
Les « tx_queue » et « rx_queue » représentent les files d'attente
en émission et en réception, en terme d'utilisation mémoire par le noyau.
Les champs « tr », « tr->when » et « rexmits » contiennent
des données internes au noyau ne servant qu'au débogage.
Le champ « uid » contient l'identificateur EUID du créateur de la socket.
- /proc/net/udp
-
Contient une copie de la table des socket UDP.
La plupart des informations ne sert que pour le débogage.
La valeur « sl » est l'emplacement de la socket
dans la table de hachage du noyau.
Le champ « local_address » contient l'adresse locale
ainsi que le numéro de port.
Le champ « remote_address » contient l'adresse distante
et le numéro de port (si la socket est connectée).
« St » est l'état interne de la socket.
Les « tx_queue » et « rx_queue » représentent les files d'attente
en émission et en
réception, en terme d'utilisation mémoire par le noyau.
Les champs « tr », « tm->when » et « rexmits »
ne sont pas utilisés par UDP.
Le champ « uid » contient l'identificateur EUID du créateur de la socket.
Le format est :
sl local_address rem_address st tx_queue rx_queue tr rexmits tm->when uid
1: 01642C89:0201 0C642C89:03FF 01 00000000:00000001 01:000071BA 00000000 0
1: 00000000:0801 00000000:0000 0A 00000000:00000000 00:00000000 6F000100 0
1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0
- /proc/net/unix
-
Liste des sockets dans le domaine UNIX présentes sur le système,
et leurs états.
Le format est :
Num RefCount Protocol Flags Type St Path
0: 00000002 00000000 00000000 0001 03
1: 00000001 00000000 00010000 0001 01 /dev/printer
Où « Num » est l'emplacement dans la table du noyau.
« Refcount » est le nombre d'utilisateurs de la socket.
« Protocol » est toujours 0 pour le moment.
« Flags » représente un attribut interne du noyau correspondant à l'état
de la socket.
Le type est toujours 1 pour le moment (Les sockets de datagrammes
dans le domaine Unix ne sont pas encore supportés par le noyau).
« St » est un état interne de la socket, et Path correspond
à l'éventuel chemin d'accès de la socket.
- /proc/partitions
-
Contient les numéros majeur et mineur de chaque partition,
ainsi que le nombre de blocs et le nom de la partition.
- /proc/pci
-
Il s'agit d'une liste de tous les périphériques PCI détectés pendant
l'initialisation ainsi que leur configuration.
Ce fichier a été déprécié en faveur d'une nouvelle interface /proc
pour PCI
(/proc/bus/pci).
Il est devenu optionnel dans Linux 2.2 (disponible avec l'option
CONFIG_PCI_OLD_PROC
positionnée à la compilation du noyau).
Ensuite, il a été déprécié dans Linux 2.6 (toujours disponible avec
CONFIG_PCI_LEGACY_PROC
positionnée), et finalement supprimées toutes les deux
depuis Linux 2.6.17.
- /proc/scsi
-
Un répertoire regroupant les pseudo-fichiers du niveau SCSI intermédiaire,
et divers sous-répertoires pour les pilotes SCSI bas-niveau,
qui contiennent un fichier pour chaque hôte SCSI du système.
Tout cet ensemble fournit une partie de l'état du sous-système
d'entrée/sortie SCSI.
Les fichiers contiennent des structures sous forme ASCII,
et sont donc lisibles avec
cat(1).
On peut également écrire dans certains fichiers pour reconfigurer
le sous-système SCSI, ou activer/désactiver certaines fonctionnalités.
- /proc/scsi/scsi
-
Il s'agit d'une liste de tous les périphériques SCSI reconnus
par le noyau.
Cette liste est la même que celle affichée durant le démarrage.
Le sous-système SCSI n'accepte pour le moment que la commande
add-single-device qui permet au superutilisateur d'ajouter
un périphérique branché à chaud à la liste des périphériques connus.
Un
echo 'scsi add-single-device 1 0 5 0' > /proc/scsi/scsi
fera examiner le canal SCSI 0 par l'hôte scsi1, à la recherche d'un
périphérique identifié ID 5 LUN 0.
S'il y a déjà un périphérique à cette adresse ou si l'adresse
est inconnue, une erreur sera renvoyée.
- /proc/scsi/[nom_de_pilote]
-
Le [nom_de_pilote] peut être actuellement : NCR53c7xx, aha152x,
aha1542, aha1740, aic7xxx, buslogic, eata_dma, eata_pio, fdomain, in2000,
pas16, qlogic, scsi_debug, seagate, t128, u15-24f, ultrastore ou wd7000.
Ces répertoires correspondent à chaque pilote qui pilote
au moins un HBA SCSI.
Chaque répertoire contient un fichier par hôte enregistré.
Chaque fichier hôte est baptisé avec le numéro assigné à l'hôte
durant l'initialisation.
La lecture de ces fichiers montrera en général la configuration de l'hôte
et du pilote, des statistiques, etc.
L'écriture dans ces fichiers permettra différentes choses
suivant les hôtes.
Par exemple, avec les commandes latency et nolatency,
le superutilisateur peut activer ou inhiber le code de mesure de latence
des commandes dans le pilote eata_dma.
Avec les commandes lockup et unlock, il peut contrôler
les verrouillages de bus simulés par le pilote scsi_debug.
- /proc/self
-
Ce répertoire se rapporte au processus accédant au système de fichiers
/proc, et est identique au sous-répertoire de /proc ayant pour nom
le PID du processus appelant.
- /proc/slabinfo
-
Informations à propos des mémoires caches du noyau.
Depuis Linux 2.6.16, ce fichier n'est présent que si l'option
CONFIG_SLAB
de configuration du noyau est activée.
Les colonnes dans
/proc/slabinfo
sont :
nom-du-cache
nombre-d'objets-actifs
nombre-total-d'objets
taille-d-'objet
nombre-de-tampons-actifs
nombre-total-de-tampons
nombre-de-pages-par-tampon
Voir
slabinfo(5)
pour des détails.
- /proc/stat
-
Statistiques du noyau, et du système.
Varie suivant l'architecture, les entrées communes sont :
-
- cpu 3357 0 4313 1362393
-
Le temps, mesuré en unités de USER_HZ
(centièmes de seconde sur la plupart des machines)
que le système a passé en mode utilisateur, en mode utilisateur avec
une priorité basse (gentil), en mode système, et le temps d'inactivité.
La dernière valeur devrait correspondre
à USER_HZ fois la deuxième entrée du pseudo-fichier uptime.
Dans Linux 2.6, cette ligne contient 3 colonnes supplémentaires :
iowait
- temps d'attente pour que les entrées-sorties soient effectuées
(depuis 2.5.41) ;
irq
- temps de service des interruptions (depuis 2.6.0-test4);
softirq
- temps de service des interruptions logicielles (depuis 2.6.0-test4);
Depuis Linux 2.6.11, il y a une huitième colonne,
steal
- temps volé, qui est le temps passé dans d'autres systèmes
d'exploitation lors de l'exécution en environnement virtualisé.
-
-
page 5741 1808
Le nombre de pages que le système a paginé en entrée et en sortie.
- swap 1 0
-
Le nombre de pages de swap que le système a échangé en entrée et en sortie.
- intr 1462898
-
Cette ligne montre le nombre d'interruptions servies depuis le démarrage du
système, pour chacune des interruptions possibles du système.
La première colonne est le total de toutes les interruptions servies ;
chaque colonne suivante est le total pour une interruption particulière.
- disk_io: (2,0):(31,30,5764,1,2) (3,0):...
-
(majeur,mineur):(noinfo, read_io_ops, blks_read,
write_io_ops, blks_written)
(Linux 2.4 seulement)
- ctxt 115315
-
Le nombre de changements de contexte effectués par le système.
- btime 769041601
-
La date de démarrage du système en secondes écoulées
depuis le 1er Janvier 1970.
- processes 23664
-
Le nombre de processus exécutés sur le système depuis le démarrage.
- procs_running 6
-
Nombre de processus pouvant être exécutés.
(Linux 2.5.45 et suivants.)
- procs_blocked 2
-
Nombre de processus bloqués attendant l'achèvement d'entrées-sorties.
(Linux 2.5.45 et suivants.)
- /proc/swap
-
Les zones de swap utilisées.
Voir aussi
swapon(8).
- /proc/sys
-
Ce répertoire (présent depuis Linux 1.3.57) contient un ensemble de
fichiers et de sous-répertoires correspondant à des variables internes
du noyau.
Celles-ci peuvent être lues et parfois modifiées en utilisant
le pseudo-système de fichiers proc, et en utilisant l'appel système
sysctl(2).
Actuellement, il existe les sous-répertoires
abi,
debug,
dev,
fs,
kernel,
net,
proc,
sunrpc
et
vm
qui contiennent chacun des fichiers et d'autres sous-répertoires.
- /proc/sys/abi (depuis Linux 2.4.10)
-
Ce répertoire peut être vide.
Voir le fichier
Documentation/sysctl/abi.txt
des sources du noyau pour plus d'informations.
- /proc/sys/debug
-
Ce répertoire peut être vide.
- /proc/sys/dev
-
Ce répertoire contient des informations spécifiques sur les périphériques
(par exemple,
dev/cdrom/info).
Sur certains systèmes, il peut être vide.
- /proc/sys/fs
-
Ici se trouve le sous-répertoire
binfmt_misc, inotify, et mqueue,
et les fichiers
dentry-state, dir-notify-enable, dquot-nr, file-max,
file-nr, inode-max, inode-nr, inode-state,
lease-break-time, leases-enable,
overflowgid, overflowuid,
suid_dumpable,
super-max et super-nr
dont les noms sont assez explicites.
- /proc/sys/fd/binfmt_misc
-
La documentation des fichiers de ce répertoire
se trouve dans les sources du noyau, dans
Documentation/binfmt_misc.txt.
- /proc/sys/fs/dentry-state
-
Ce fichier contient six nombres
nr_dentry,
nr_unused,
age_limit
(age en secondes),
want_pages
(pages réclamées par le système) et deux valeurs inutiles.
nr_dentry semble être toujours à zéro.
nr_unused semble être le nombre d'entrées de répertoire libres.
age_limit est l'âge en seconde après lequel les entrées de cache
peuvent être réclamées quand la mémoire libre diminue
et que want_page est non-nul.
- /proc/sys/fs/dir-notify-enable
-
ce fichier peut être utilisé pour activer ou inhiber l'interface
dnotify
décrite dans
fcntl(2)
au niveau système
Une valeur nulle inhibe cette interface, et
la valeur 1 l'active.
- /proc/sys/fs/dquot-max
-
Ce fichier montre le nombre maximal d'entrée de quota de disque en cache.
Sur certains systèmes (2.4), il est absent.
Si le nombre de quotas de disque libres est très bas,
et si vous avez un nombre important d'utilisateurs simultanés,
vous pouvez augmenter cette valeur.
- /proc/sys/fs/dquot-nr
-
Ce fichier montre le nombre d'entrées de quota de disque allouées
et le nombre d'entrées libres.
- /proc/sys/fs/file-max
-
Ce fichier est la limite système du nombre de fichiers ouverts
par un processus.
(Voir aussi
setrlimit(2)
qui peut servir à fixer la limite par processus,
RLIMIT_NOFILE).
Si vous avez beaucoup de messages d'erreurs indiquant un manque
de descripteurs de fichiers, essayez d'augmenter cette valeur.
echo 100000 > /proc/sys/fs/file-max
La constante
NR_OPEN
du noyau impose une limite supérieure à la valeur
que l'on peut placer dans
file-max.
Si vous augmentez
/proc/sys/fs/file-max,
assurez-vous d'augmenter
/proc/sys/fs/inode-max
jusqu'à 3 à 4 fois la nouvelle valeur de
/proc/sys/fs/file-max,
ou vous serez à court d'i-noeuds.
- /proc/sys/fs/file-nr
-
Ce fichier (en lecture seule) donne le nombre de fichiers
actuellement ouverts.
Il contient trois nombres : les descripteurs de fichiers allouées, les
descripteurs de fichiers libres, et le maximum de descripteurs de fichiers.
Le noyau alloue les descripteurs dynamiquement, mais il ne les libére pas.
Si le nombre de descripteurs alloués est proche du maximum, vous pouvez
envisager d'augmenter le maximum.
Quand le nombre de descripteurs libres est très grand, vous avez rencontré
dans le passé un pic d'utilisation et n'avez probablement pas besoin
d'augmenter le maximum.
- /proc/sys/fs/inode-max
-
Ce fichier contient le nombre maximal d'i-noeuds en mémoire.
Sur certains systèmes (2.4) il peut être absent.
Cette valeur devrait être 3 à 4 fois plus grande que le
nombre file-max, car les descripteurs
stdin,
stdout
et les sockets réseau nécessitent aussi un i-noeud.
Lorsque vous manquez régulièrement d'i-noeud, augmentez cette valeur.
- /proc/sys/fs/inode-nr
-
Ce fichier contient les deux premières valeurs de inode-state.
- /proc/sys/fs/inode-state
-
Ce fichier contient sept nombres : nr_inodes, nr_free_inodes,
preshrink et quatre valeurs inutiles.
nr_inodes est le nombre d'i-noeuds alloués par le système.
Il peut être légèrement plus grand
que inode-max, car Linux les alloue par page complète.
nr_free_inodes représente le nombre d'i-noeuds libres.
preshrink est non-nulle quand
nr_inodes > inode-max
et que le système
doit purger la liste d'i-noeuds plutôt qu'en allouer plus.
- /proc/sys/fs/inotify (deuis Linux 2.6.13)
-
Ce répertoire contient les fichiers
max_queued_events, max_user_instances, and max_user_watches,
qui peuvent être utilisés pour limiter la quantité de mémoire noyau
consommée par l'interface
inotify.
Pour plus de détails, voir
inotify(7).
- /proc/sys/fs/lease-break-time
-
Ce fichier indique le délai de grâce que le noyau accorde à un processus
détenant un blocage de fichier (file lease, voir
fcntl(2))
après qu'il lui a envoyé un signal indiquant qu'un autre processus
attend pour ouvrir le fichier.
Si, durant le délai de grâce, le détenteur du blocage ne le supprime pas,
en n'en diminue pas la portée, le noyau éliminera de force le blocage.
- /proc/sys/fs/leases-enable
-
Ce fichier permet d'activer ou d'inhiber les blocages de fichiers
(file lease, voir
fcntl(2))
pour tout le système.
Si ce fichier contient la valeur 0, les blocages sont désactivés,
une valeur non nulle les active.
- /proc/sys/fs/mqueue (depuis Linux 2.6.6)
-
Ce répertoire contient les fichiers
msg_max, msgsize_max et queues_max
qui contrôlent les ressources utilisées par les files de messages POSIX.
Voir
mq_overview(7)
pour les détails.
- /proc/sys/fs/overflowgid et /proc/sys/fs/overflowuid
-
Ces fichiers contiennent des valeurs de GID et UID de débordement,
par défaut 65534.
Certains systèmes de fichiers ne supportent que des UID et GID
sur 16 bits, bien que le noyau Linux les gère sur 32 bits.
Lorsque l'un de ces systèmes de fichiers est monté en lecture-écriture,
tout UID ou GID dépassant 65535 est remplacé par la valeur de débordement
avant l'écriture sur le disque.
- /proc/sys/fs/suid_dumpable (depuis Linux 2.6.13)
-
La valeur dans ce fichier détermine si les fichiers core dump sont produit
pour les binaires Set-UID ou protégés.
Trois valeurs entières peuvent être spécifiées :
0 (défault)
C'est le comportement traditionnel (pre-Linux 2.6.13).
Un fichier core dump ne sera pas produit pour un processus qui a modifié
ses références (par un appel à
seteuid(2),
setgid(2)
ou similaire, ou en exécutant un programme Set-UID ou Set-GID)
ou dont le binaire n'a pas la permission de lecture activée.
1 ("debug")
Tous les processus peuvent créés un fichier core dump
lorsque c'est possible.
Le fichier core dump appartient à l'UID du système de fichiers
du processus créant le fichier et aucune sécurité n'est appliquée.
Cela est conçu pour les situations de débogage du système seulement.
Ptrace n'est pas vérifiée.
2 ("suidsafe")
Tout binaire qui ne serait normallement pas « dumpé » (voir 0 plus haut)
est « dumpé », lisible par le superutilisateur seulement.
Cela permet à l'utilisateur de supprimer le fichier core dump
mais pas de le lire.
Pour des raisons de sécurité, le fichier core dump dans ce mode
n'en écrasera pas un autre, ou d'autres fichiers.
Ce mode est approprié lorsque les administrateurs tentent de déboguer des
problèmes dans un environnement normal.
- /proc/sys/fs/super-max
-
Ce fichier indique le nombre maximal de superblocs,
et donc le nombre maximal de systèmes de fichiers
que le noyau peut monter.
Vous n'avez besoin d'augmenter cette valeur que si vous désirez monter
plus de systèmes de fichiers que le maximal actuel.
- /proc/sys/fs/super-nr
-
contient le nombre de systèmes de fichiers montés actuellement.
- /proc/sys/kernel
-
On y trouve les fichiers
acct,
cad_pid,
cap-bound,
core_pattern,
core_uses_pid,
ctrl-alt-del,
dentry-state,
domainname,
hotplug,
hostname,
htab-reclaim (PowerPC),
java-appletviewer (binfmt_java, obsolète),
java-interpreter (binfmt_java, obsolète),
l2cr (PowerPC),
modprobe,
msgmax,
msgmnb,
msgmni,
osrelease,
ostype,
overflowgid,
overflowuid,
panic,
panic_on_oops,
pid_max,
powersave-nap (PowerPC seulement),
printk,
pty,
random,
real-root-dev,
reboot-cmd (SPARC seulement),
rtsig-max,
rtsig-nr,
sem,
sg-big-buff,
shmall,
shmmax,
shmmni,
sysrq,
tainted,
threads-max,
version
et
zero-paged (PowerPC seulement).
- /proc/sys/kernel/acct
-
Ce fichier contient trois nombres : un seuil haut,
un seuil bas et une période.
Si la comptabilité des processus à la manière BSD est activée, ses valeurs
déterminent son comportement.
Si l'espace disque sur le système de fichiers accueillant les statistiques
descend sous le seuil bas, (en pourcentage), la comptabilité est suspendue.
Si l'espace remonte au-dessus du seuil haut, elle reprend.
La période (en seconde) est celle avec laquelle le noyau vérifie l'espace
disque disponible.
Les valeurs par défaut sont 4, 2 et 30.
Cela signifie que la comptabilité est suspendue en-dessous de 2% d'espace
libre, elle reprend à 4% et la vérification a lieu toutes les 30 secondes.
- /proc/sys/kernel/cap-bound
-
Ce fichier conserve la valeur de
l'ensemble des capacités limites
du noyau (exprimée comme un nombre décimal signé).
Cet ensemble est filtré par un ET binaire avec les capacité du processus
lors d'un
execve(2).
- /proc/sys/kernel/core_pattern
-
Voir
core(5).
- /proc/sys/kernel/core_uses_pid
-
Voir
core(5).
- /proc/sys/kernel/ctrl-alt-del
-
Ce fichier contrôle la gestion de la séquence Ctrl-Alt-Suppr du clavier.
S'il contient la valeur zéro, Ctrl-Alt-Del est capturé et envoyé au
programme
init(8)
pour relancer le système correctement.
Si la valeur est supérieure à zéro, la réaction de Linux à ce
Coup-de-pied Au C.. est un redémarrage immédiat, sans même écrire
le contenu des tampons en attente.
Note : lorsqu'un programme (comme dosemu) utilise le clavier en mode
« raw » (brut), la séquence ctl-alt-suppr est interceptée par le
programme avant même d'atteindre le gestionnaire de console du noyau,
et c'est à ce programme de décider qu'en faire.
- /proc/sys/kernel/hotplug
-
Ce fichier contient le chemin de l'agent du mécanisme
de branchement à chaud.
La valeur par défaut est
/sbin/hotplug.
- /proc/sys/kernel/domainname et /proc/sys/kernel/hostname
-
Ces fichiers servent à indiquer les noms NIS/YP de domaine et d'hôte,
exactement de la même manière que les commandes
domainname(1)
et
hostname(1).
Par exemple :
# echo "darkstar" > /proc/sys/kernel/hostname
# echo "mydomain" > /proc/sys/kernel/domainname
a exactement le même effet que
# hostname "darkstar"
# domainname "mydomain"
Notez toutefois, que le classique darkstar.frop.org a le nom d'hôte
darkstar et le nom de domaine DNS (Internet Domain Name Server)
"frop.org", à ne pas confondre avec le nom de domaine NIS (Network
Information Service) ou YP (Yellow Pages).
Ces noms de domaines sont généralement différents.
Pour plus de détail, voyez la page
hostname(1).
- /proc/sys/kernel/htab-reclaim
-
(PowerPC seulement) Si ce fichier contient une valeur non-nulle,
la htab du PowerPC (voir le fichier
Documentation/powerpc/ppc_htab.txt
du noyau) est parcourue
chaque fois que le système atteint la boucle d'inactivité.
- /proc/sys/kernel/l2cr
-
(PowerPC seulement) Ce fichier contient un indicateur commandant
le cache L2 des cartes processeurs G3.
Le cache est désactivé si la valeur est nulle, activé sinon.
- /proc/sys/kernel/modprobe
-
Ce fichier contient le chemin du chargeur des modules du noyau.
La valeur par défaut est
/sbin/modprobe.
Le fichier n'est présent que si le noyau est compilé avec l'option
CONFIG_KMOD
activée.
Ce fichier est décrit dans le fichier des sources du noyau
Documentation/kmod.txt.
(présent seulement dans les noyaux 2.4 et précédents).
- /proc/sys/kernel/msgmax
-
Ce fichier est une limite pour l'ensemble du système précisant le nombre
maximal d'octets par message écrit dans une file de message System V.
- /proc/sys/kernel/msgmni
-
Ce fichier définit la limite pour le système du nombre d'identificateurs
de files de messages.
(Ce fichier n'existe que depuis Linux 2.4).
- /proc/sys/kernel/msgmnb
-
Ce fichier est un paramètre au niveau du système pour initialiser la valeur
msg_qbytes
lors de la création ultérieure de files de messages.
La valeur
msg_qbytes
indique le nombre maximal d'octets que peut contenir une file de messages.
- /proc/sys/kernel/ostype et /proc/sys/kernel/osrelease
-
Ces fichiers donnent des sous-chaînes de
/proc/version.
- /proc/sys/kernel/overflowgid et /proc/sys/kernel/overflowuid
-
Ces fichiers remplissent le même rôle que
/proc/sys/fs/overflowgid
et
/proc/sys/fs/overflowuid.
- /proc/sys/kernel/panic
-
Ce fichier donne un accès en lecture et écriture à la variable
panic_timeout
du noyau.
Si elle vaut zéro, le noyau se mettra en boucle en cas de panique,
sinon elle contient le nombre de secondes après lequel le noyau
devra redémarrer.
Si vous utilisez le pilote de surveillance watchdog logiciel,
la valeur recommandée est 60.
- /proc/sys/kernel/panic_on_oops
-
Ce fichier (nouveauté Linux 2.5) contrôle le comportement du noyau
lorsqu'un Oops (défaut) ou un bogue est rencontré.
Si ce fichier contient 0,
alors le système tente de continuer à travailler.
S'il contient 1, alors le système attend quelques secondes
(pour laisser à klogd le temps d'enregistrer la sortie du Oops)
puis déclenche une panique.
Si le fichier
/proc/sys/kernel/panic
est également non nul alors la machine redémarrera.
- /proc/sys/kernel/pid_max
-
Ce fichier (nouveauté Linux 2.5)
indique la valeur à partir de laquelle les PIDs vont reprendre au début.
(la valeur dans ce fichier est celle du PID maximum plus un).
La valeur par défaut est 32768,
ce qui correspond à la même plage de PIDs que sur les noyaux antérieurs.
Sur les plates-formes 32 bits, la valeur maximum de
pid_max
est 32768.
Sur les systèmes 64 bits,
pid_max
peut prendre toute valeur jusqu'à 2^22
(PID_MAX_LIMIT,
approximativement 4 millions).
- /proc/sys/kernel/powersave-nap (PowerPC seulement)
-
Ce fichier contient un indicateur.
S'il est non nul,
Linux-PPC utilisera le mode « nap » d'économie d'énergie,
sinon il utilisera le mode « doze ».
- /proc/sys/kernel/printk
-
Les quatre valeurs dans ce fichier
sont nommées console_loglevel, default_message_loglevel,
minimum_console_level et default_console_loglevel.
Ces valeurs influencent le comportement de printk() lors de l'affichage
ou de la journalisation de message d'erreurs.
Voir
syslog(2)
pour plus d'information sur les différents niveaux.
Les messages avec une priorité plus élevée que
console_loglevel seront affichés sur la console.
Les messages sans priorité explicite utiliseront la
priorité default_message_level.
minimum_console_loglevel est la valeur maximale à laquelle console_loglevel
puisse être élevé, default_console_loglevel est la valeur par défaut pour
console_loglevel.
- /proc/sys/kernel/pty (depuis Linux 2.6.4)
-
Ce répertoire contient deux fichiers relatifs au nombre
de pseudo-terminaux Unix 98 (voir
pts(4))
sur le système.
- /proc/sys/kernel/pty/max
-
Ce fichier définit le nombre maximal de pseudo-terminaux.
- /proc/sys/kernel/pty/nr
-
Ce fichier, en lecture seule, indique le nombre de pseudo-terminaux en
cours d'utilisation.
- /proc/sys/kernel/random
-
contient divers paramètres contrôlant le fonctionnement du fichier
/dev/random.
Voir
random(4)
pour plus d'information.
- /proc/sys/kernel/real-root-dev
-
Ce fichier est documenté dans le fichier
Documentation/initrd.txt
des sources du noyau.
- /proc/sys/kernel/reboot-cmd (Sparc seulement)
-
permet apparemment de fournir un argument au chargeur de démarrage
ROM/Flash Sparc.
Peut-être indique-t-il que faire après redémarrage ?
- /proc/sys/kernel/rtsig-max
-
(Seulement dans les noyaux jusqu'au 2.6.7 y compris ; voir
setrlimit(2))
Ce fichier permet d'indiquer le nombre maximal
de signaux POSIX temps réel en attente sur le système.
- /proc/sys/kernel/rtsig-nr
-
(Seulement dans les noyaux jusqu'au 2.6.7 y compris)
Ce fichier donne le nombre de signaux POSIX temps réel
actuellement en attente.
- /proc/sys/kernel/sem (disponible depuis Linux 2.4)
-
contient 4 limites pour les sémaphores System V.
Ces valeurs sont respectivement :
-
- SEMMSL
-
Le nombre maximal de sémaphores par ensemble.
- SEMMNS
-
Une limite générale au système pour le nombre de sémaphores dans tous
les ensembles.
- SEMOPM
-
Le nombre maximal d'opérations que l'on peut indiquer dans un appel
semop(2).
- SEMNI
-
Une limite générale sur le nombre maximal d'identifiants de sémaphores.
- /proc/sys/kernel/sg-big-buff
-
Ce fichier montre la taille du tampon pour le pilote SCSI générique (sg).
Vous ne pourrez pas y écrire pour le moment, mais vous pouvez
changer sa valeur à la compilation en éditant
<include/scsi/sg.h>
et en modifiant
SG_BIG_BUFF.
Toutefois, il ne devrait y avoir aucune raison de le modifier.
- /proc/sys/kernel/shmall
-
Ce fichier contient le nombre maximal de pages de mémoire partagées
(IPC Système V) au niveau du système.
- /proc/sys/kernel/shmmax
-
Ce fichier permet de lire ou modifier la taille maximale des segments
de mémoire partagée (IPC Système V) que l'on peut créer.
Les segments de mémoire jusqu'à 1Go sont à présent autorisés par le noyau.
La valeur par défaut est
SHMMAX.
- /proc/sys/kernel/shmmni
-
(disponible depuis Linux 2.4)
Ce fichier indique le nombre maximal de segments de mémoire partagée
que l'on peut créer.
- /proc/sys/kernel/version
-
Ce fichier contient une chaîne du type :
#5 Wed Feb 25 21:49:24 MET 1998
Le champ « #5 » indique que c'est la cinquième compilation du noyau
depuis ces sources, et la date correspond à celle de la compilation.
- /proc/sys/kernel/zero-paged (PowerPC seulement)
-
Ce fichier contient un drapeau.
S'il est activé (non-nul), Linux-PPC effacera les pages dans sa boucle
d'inactivité, accélérant éventuellement get_free_pages.
- /proc/sys/net
-
Ce répertoire contient des informations concernant le réseau.
Des explications pour certains fichiers de ce répertoire peuvent être
trouvées dans les pages
tcp(7)
et
ip(7).
- /proc/sys/net/core/somaxconn
-
Ce fichier définit la valeur plafond de l'argument
backlog
de
listen(2) ;
voir la page manuel de
listen(2)
pour les détails.
- /proc/sys/proc
-
Ce répertoire peut être vide.
- /proc/sys/sunrpc
-
Ce répertoire correspond aux appels de procédures à distance (RPC)
sur un système de fichiers NFS.
Sur certains systèmes, il est absent.
- /proc/sys/vm
-
Ce répertoire contient des fichiers de paramétrage de la gestion
de mémoire, des tampons, et du cache.
- /proc/sys/vm/drop_caches (depuis Linux 2.6.16)
-
L'écriture dans ce fichier fera que le noyau nettoyera les caches, les
entrées de répertoires et les i-noeuds de la mémoire, libérant celle-ci.
Pour libérer les caches, utilisez
echo 1 > /proc/sys/vm/drop_caches ;
Pour libérer les entrées de répertoires et les i-noeuds, utilisez
echo 2 > /proc/sys/vm/drop_caches ;
Pour libérer les caches les entrées de répertoires et les i-noeuds,
utilisez
echo 3 > /proc/sys/vm/drop_caches.
Parce que cette opération est non destructive et que les objets
« sales » ne sont pas libérables, l'utilisateur devrait d'abord lancer
sync(8).
- /proc/sys/vm/legacy_va_layout (depuis Linux 2.6.9)
-
S'il n'est pas nul,
cela désactive la disposition mappage mémoire 32 bits ;
le noyau utilisera la disposition historique (2.4) pour tous les processus.
- /proc/sys/vm/overcommit_memory
-
Ce fichier contient le mode pour les statistiques
de la mémoire virtuelle du noyau.
Les valeurs sont :
0: gestion heuristique du dépassement de l'allocation mémoire
(c'est la valeur par défaut)
1: pas de gestion du dépassement, ne jamais vérifier
2: toujours vérifier, gestion stricte du dépassement
Dans le mode 0, les appels à
mmap(2)
avec
MAP_NORESERVE
positionné ne sont pas vérifiés et la vérification par défaut est faible,
laissant le risque d'avoir un processus « OOM-killed ».
Sous Linux 2.4, toute valeur non nulle implique le mode 1.
Dans le mode 2 (disponible depuis Linux 2.6), l'espace d'adresse
virtuelle total sur le système est limité à (SS + RAM*(r/100)),
où SS est la taille de l'espace swap,
RAM la taille de la mémoire physique,
et r le contenu du fichier
/proc/sys/vm/overcommit_ratio.
- /proc/sys/vm/overcommit_ratio
-
Voir la description de
/proc/sys/vm/overcommit_memory.
- /proc/sysvipc
-
Sous-répertoire contenant les pseudo-fichiers
msg, sem and shm.
Ces fichiers listent les objets d'IPC System V (respectivement les
files de messages, les sémaphores, et la mémoire partagée) existant
sur le système.
Les informations sont les mêmes que celles fournies par la commande
ipcs(1).
Ces fichiers ont un entête, et sont formatés pour être lus facilement.
La page
svipc(7)
explique certaines informations fournies par ces fichiers.
- /proc/tty
-
Sous-répertoire contenant les pseudo-fichiers et sous-répertoires pour
les pilotes de tty et la gestion de la ligne.
- /proc/uptime
-
Ce fichier contient deux valeurs : la durée de fonctionnement (uptime) en
secondes, et le temps écoulé à ne rien faire (idle), en secondes également.
- /proc/version
-
Cette chaîne identifie la version du noyau en cours d'exécution.
Elle inclut le contenu de
/proc/sys/kernel/ostype,
/proc/sys/kernel/osrelease
et
/proc/sys/kernel/version.
Par exemple :
Linux version 2.4.19 (ccb@venux) (gcc version 2.96 20000731
(Red Hat Linux 7.3 2.96-110)) #13 sam nov 9 09:04:36 CET 2002
- /proc/vmstat (depuis Linux 2.6)
-
Ce fichier contient diverses statistiques sur la mémoire virtuelle.
- /proc/zoneinfo (depuis Linux 2.6.13)
-
Ce fichier contient des informations sur les zones mémoires.
Il est utile pour l'analyse du comportement de la mémoire virtuelle.