Il filesystem /proc

Il filesystem /proc contiene un filesystem virtuale: non esiste sul disco, ma viene creato nella memoria dal kernel. Viene usato per fornire informazioni sul sistema (originariamente lo faceva sui processi, da cui il suo nome). Alcuni dei file e delle directory più importanti in esso contenute sono descritte qui sotto; maggiori dettagli si possono trovare nella pagina man di proc.

/proc/1

Una directory con le informazioni sul processo numero 1. Ciascun processo ha una directory sotto /proc indicata dal numero di identificazione del processo.

/proc/cpuinfo

Informazioni sul processore, come il tipo, la marca, il modello e la performance.

/proc/devices

Un elenco dei device driver configurati nel kernel in uso.

/proc/dma

I canali DMA usati al momento.

/proc/filesystems

I filesystem configurati nel kernel.

/proc/interrupts

Gli interrupt in uso e quanti ne sono stati chiamati di ciascuno.

/proc/ioports

Le porte di I/O in uso al momento.

/proc/kcore

Un'immagine della memoria fisica del sistema, della stessa dimensione di quest'ultima; non occupa così tanto spazio, ma viene generata in tempo reale quando i programmi vi accedono (ricordate: a meno che non lo copiate da qualche altra parte, nessun file sotto /proc occupa spazio disco).

/proc/kmsg

Messaggi di output del kernel. Vengono mandati anche a syslog.

/proc/ksyms

La tabella dei simboli per il kernel.

/proc/loadavg

La media del carico (load average) del sistema: tre indicatori senza significato di quanto lavoro deve fare il sistema in ciascun momento.

/proc/meminfo

Informazioni sull'uso della memoria, sia fisica che di swap.

/proc/modules

Quali moduli del kernel sono caricati al momento.

/proc/net

Informazioni di stato sui protocolli di rete.

/proc/self

Un link simbolico alla directory dei processi del programma che sta guardando in /proc. Quando due processi guardano in /proc, ottengono link diversi. Serve più che altro per facilitare ai programmi il raggiungimento della loro directory dei processi.

/proc/stat

Varie statistiche sul sistema, come il numero di page fault da quando è stato avviato.

/proc/uptime

Il tempo per cui il sistema è stato attivo.

/proc/version

La versione del kernel.

Notate che mentre i file descritti qui sopra tendono ad essere file di testo leggibili facilmente, altri possono essere formattati in modo da non essere facilmente digeribili. Ci sono molti comandi che fanno poco più che leggere questi ultimi e formattarli in modo da poterli capire meglio. Ad esempio, il programma free legge /proc/meminfo e converte le quantità date in byte a kilobyte (aggiungendo anche altre informazioni).