L'elenco seguente riporta alcuni dei file virtuali di livello superiore più utili contenuti nella directory /proc/.
![]() | Nota Bene |
|---|---|
Nella maggior parte dei casi, il contenuto dei file elencate in questa sezione non sarà lo stesso sulla vostra macchina. Ciò è perché gran parte delle informazioni è specifica al hardware su cui Red Hat Linux sta funzionando. |
Il file fornisce informazioni sullo stato e le opzioni dell'Advanced Power Management (APM) sul sistema. Tali informazioni vengono poi utilizzate dal comando apm. Se a un alimentatore CA è collegato un sistema non alimentato a batteria, il file virtuale ha più o meno questo aspetto:
1.16 1.2 0x07 0x01 0xff 0x80 -1% -1 ? |
L'esecuzione del comando apm -v in tale sistema dà un output simile a questo:
APM BIOS 1.2 (kernel driver 1.16) AC on-line, no system battery |
Per i sistemi non alimentati a batteria, apm può svolgere altre operazioni oltre a mettere la macchina in modalità di standby. Il comando apm è molto più utile per i laptop. Per esempio, l'output riportato di seguito deriva dal comando cat /proc/apm di un portatile che esegue Red Hat Linux ed è collegato a una presa di corrente:
1.16 1.2 0x03 0x01 0x03 0x09 100% -1 ? |
Quando lo stesso portatile non è più alimentata a corrente da alcuni minuti, il contenuto del file apm cambia:
1.16 1.2 0x03 0x00 0x00 0x01 99% 1792 min |
Il comando apm -v produce informazioni più utili come quelli riportati di seguito:
APM BIOS 1.2 (kernel driver 1.16) AC off-line, battery status high: 99% (1 day, 5:52) |
Il file mostra i parametri trasmessi al kernel al momento dell'avvio. Un file di esempio /proc/cmdline ha più o meno questo aspetto:
ro root=/dev/hda2 |
Ciò significa che il kernel è montato in modalità di sola lettura, come indicato da (ro), esterno alla seconda partizione del primo dispositivo IDE (/dev/hda2).
Il file virtuale identifica il tipo di processore presente sul vostro sistema. Quello riportato di seguito è un esempio di output tipico derivante da /proc/cpuinfo:
processor : 0 vendor_id : AuthenticAMD cpu family : 5 model : 9 model name : AMD-K6(tm) 3D+ Processor stepping : 1 cpu MHz : 400.919 cache size : 256 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr mce cx8 pge mmx syscall 3dnow k6_mtrr bogomips : 799.53 |
processor — attribuisce un numero identificativo a ciascun processore. Nel caso ci sia un unico processore, viene visualizzato soltanto 0.
cpu family — è in grado di rivelare che tipo di processore avete nel vostro sistema. Se si tratta di un sistema basato su un processore Intel, per determinare il valore è sufficiente anteporre il numero a "86". Questa operazione è particolarmente utile nel caso si vogliano delle informazioni sull'architettura di un vecchio sistema, come 586, 486 o 386. Poiché per determinate architetture a volte vengono compilati alcuni pacchetti RPM, questo valore vi consente di determinare quale pacchetto installare sul sistema.
model name — mostra il nome comune del processore, compreso il nome del suo progetto.
cpu MHz — mostra l'esatta velocità in megahertz di quel particolare processore (nell'ordine delle migliaia).
cache size — mostra la quantità di memoria della cache di livello 2 disponibile per il processore.
flags — definisce svariate caratteristiche del processore, per esempio la presenza di una FPU (unità in virgola mobile) e la capacità di elaborare istruzioni MMX.
Il file visualizza i diversi dispositivi a carattere e a blocchi attualmente configurati (non include i dispositivi i cui moduli non sono caricati nel kernel). Ecco un esempio dell'output prodotto da questo file:
a sample output from this file:
Character devices: 1 mem 2 pty 3 ttyp 4 ttyS 5 cua 7 vcs 10 misc 14 sound 29 fb 36 netlink 128 ptm 129 ptm 136 pts 137 pts 162 raw 254 iscsictl Block devices: 1 ramdisk 2 fd 3 ide0 9 md 22 ide1 |
L'output del file /proc/devices comprende il numero maggiore e il nome del dispositivo ed è suddiviso in due sezioni principali: Character devices e Block devices.
I dispositivi a carattere sono simili ai dispositivi a blocchi, a eccezione di due differenze sostanziali:
Anzitutto, i dispositivi a blocchi dispongono di un buffer per le richieste inviate, grazie al quale possono ordinare tali richieste prima di elaborarle. Ciò si rivela alquanto utile nel caso dei dispositivi creati per immagazzinare informazioni — per esempio i dischi fissi —, poiché ordinando le informazioni prima che vengano scritte sul dispositivo è possibile poi sistemarle in modo più efficiente. Nel caso dei dispositivi a carattere questa operazione preliminare non è necessaria.
In secondo luogo, i dispositivi a blocchi possono inviare e ricevere informazioni in blocchi di una certa dimensione, configurati a seconda del dispositivo. I dispositivi a carattere non inviano i dati in base a una dimensione predefinita.
Per maggiori informazioni in merito ai dispositivi, vedere /usr/src/linux-2.4/Documentation/devices.txt.
Il file contiene un elenco dei canali DMA (accesso diretto alla memoria) per il canale ISA in uso nel sistema. Un file di esempio /proc/dma ha il seguente aspetto:
4: cascade |
Il file elenca quali sono i formati di eseguibili attualmente supportati dal kernel di Linux e la gamma di "personalità" che essi supportano.
0-0 Linux [kernel] |
Si potrebbe dire che i formati degli eseguibili rappresentano in un certo senso la "personalità" di un determinato sistema operativo. Dato che altri formati binari, quali Solaris, UnixWare e FreeBSD, possono essere utilizzati con Linux, i programmatori possono modificare il modo in cui il sistema operativo gestisce particolari chiamate di sistema da questi binari cambiando la personalità dell'attività. A eccezione di PER_LINUX, i formati degli eseguibili possono essere implementati come moduli caricabili dinamicamente.
Il file contiene un elenco di dispositivi frame buffer, con il numero del dispositivo e l'unità che lo controlla. Un tipico esempio di output di /proc/fb per sistemi che contengono dispositivi frame buffer ha il seguente aspetto:
0 VESA VGA |
Il file visualizza un elenco dei tipi di filesystem attualmente supportati dal kernel. Ecco un esempio di output prodotto da un file /proc/filesystems di un kernel generico:
nodev rootfs nodev bdev nodev proc nodev sockfs nodev tmpfs nodev shm nodev pipefs ext2 nodev ramfs iso9660 nodev devpts ext3 nodev autofs nodev binfmt_misc |
La prima colonna indica se il filesystem è stato montato su un dispositivo a blocchi; quelli che iniziano con nodev non sono montati su un dispositivo a blocchi. Nella seconda colonna sono elencati i nomi dei filesystem supportati.
Il comando mount scorre l'elenco dei filesystem disponibili quando non ne è stato specificato alcuno come argomento.
Il file registra il numero di interrupt (IRQ) su architettura x86. Un file /proc/interrupts ha solitamente questo aspetto:
CPU0 0: 80448940 XT-PIC timer 1: 174412 XT-PIC keyboard 2: 0 XT-PIC cascade 8: 1 XT-PIC rtc 10: 410964 XT-PIC eth0 12: 60330 XT-PIC PS/2 Mouse 14: 1314121 XT-PIC ide0 15: 5195422 XT-PIC ide1 NMI: 0 ERR: 0 |
Nel caso di macchine multiprocessore, questo file può avere un aspetto leggermente diverso:
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 prima colonna si riferisce al numero di IRQ. Ogni CPU presente nel sistema ha la propria colonna e il proprio numero di interrupt (IRQ). La colonna successiva indica il tipo di interrupt e l'ultima colonna contiene il nome del dispositivo interessato.
Ogni tipo di interrupt presente in questo file (gli interrupt sono specifici a seconda dell'architettura) ha un significato leggermente diverso. Per le macchine x86, i seguenti valori sono comuni:
XT-PIC — gli interrupt del vecchio computer AT.
IO-APIC-edge — il segnale di voltaggio su questo interrupt è in transizione dal basso verso l'alto, creando così un margine dove si verifica l'interrupt, ed è segnalato una sola volta. Questo tipo di interrupt, così come l'interrupt IO-APIC-level, è possibile solo su sistemi con processori della famiglia 586 e successivi.
IO-APIC-level — genera degli interrupt quando il segnale di voltaggio va verso l'alto, finché poi non torna di nuovo verso il basso.
Il file mostra la mappa corrente della memoria del sistema per i vari dispositivi:
00000000-0009fbff : System RAM 0009fc00-0009ffff : reserved 000a0000-000bffff : Video RAM area 000c0000-000c7fff : Video ROM 000f0000-000fffff : System ROM 00100000-07ffffff : System RAM 00100000-00291ba8 : Kernel code 00291ba9-002e09cb : Kernel data e0000000-e3ffffff : VIA Technologies, Inc. VT82C597 [Apollo VP3] e4000000-e7ffffff : PCI Bus #01 e4000000-e4003fff : Matrox Graphics, Inc. MGA G200 AGP e5000000-e57fffff : Matrox Graphics, Inc. MGA G200 AGP e8000000-e8ffffff : PCI Bus #01 e8000000-e8ffffff : Matrox Graphics, Inc. MGA G200 AGP ea000000-ea00007f : Digital Equipment Corporation DECchip 21140 [FasterNet] ea000000-ea00007f : tulip ffff0000-ffffffff : reserved |
Nella prima colonna sono visualizzati i registri di memoria usati da ciascuno dei diversi tipi di memoria. La seconda colonna indica il tipo di memoria presente all'interno di tali registri e persino quali registri di memoria sono usati dal kernel nella memoria RAM di sistema o, in caso di NIC Ethernet multiporta, i registri di memoria assegnati per ogni porta.
L'output di /proc/ioports fornisce un elenco delle porte registrate che vengono utilizzate per comunicazioni in ingresso o in uscita con un dispositivo. Questo file può essere piuttosto lungo e iniziare in questo modo:
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 02f8-02ff : serial(auto) 0376-0376 : ide1 03c0-03df : vga+ 03f6-03f6 : ide0 03f8-03ff : serial(auto) 0cf8-0cff : PCI conf1 d000-dfff : PCI Bus #01 e000-e00f : VIA Technologies, Inc. Bus Master IDE e000-e007 : ide0 e008-e00f : ide1 e800-e87f : Digital Equipment Corporation DECchip 21140 [FasterNet] e800-e87f : tulip |
La prima colonna indica l'effettivo range dell'indirizzo della porta I/O riservato al dispositivo che si trova nell'elenco della seconda colonna.
Il file elenca le schede PnP (Plug and Play) installate su slot ISA nel sistema. Riguarda principalmente le schede audio, ma può includere qualsiasi altro dispositivo. Un file /proc/isapnp contenente la voce Soundblaster ha il seguente aspetto:
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 |
Il file può essere piuttosto lungo, a seconda del numero di dispositivi elencati, dei loro requisiti o le loro richieste in relazione alle risorse.
Ogni scheda elenca il proprio nome, il numero della versione di PnP e quello della versione del prodotto. Se un certo dispositivo è attivo e configurato, questo file indicherà anche i suoi numeri di porta e di IRQ. Inoltre, per assicurare una migliore compatibilità la scheda specifica i valori preferred e acceptable per svariati parametri, allo scopo di consentire alle schede PnP di lavorare evitando conflitti tra porta e IRQ.
Il file rappresenta la memoria fisica del sistema ed è memorizzato in formato file core. A differenza di molti file /proc, kcore visualizza la dimensione. Questo valore viene fornito in byte ed equivale alla dimensione della memoria fisica (RAM) usata più 4 KB.
Il contenuto di questo file è progettato per essere esaminato da un debbuger, come gdb e non è leggibile.
![]() | Avvertenza |
|---|---|
Non cercate di visualizzare il file virtuale kcore.
Il contenuto del file altererà l'output testuale sul terminale.
Se vi dovesse capitare per errore di visualizzare il file, premete
|
Il file è utilizzato per contenere messaggi generati dal kernel. Tali messaggi vengono poi raccolti da altri programmi, come per esempio /sbin/klogd.
Il file contiene le definizioni dei simboli esportati dal kernel utilizzati dai tool dei moduli per collegare in modo dinamico moduli caricabili.
e003def4 speedo_debug [eepro100] e003b04c eepro100_init [eepro100] e00390c0 st_template [st] e002104c RDINDOOR [megaraid] e00210a4 callDone [megaraid] e00226cc megaraid_detect [megaraid] |
La prima colonna elenca l'indirizzo di memoria della funzione del kernel, mentre la seconda colonna si riferisce al nome della funzione e l'ultima colonna indica il nome del modulo caricato.
Il file permette di dare uno sguardo al carico medio del processore nel tempo e fornisce dati aggiuntivi utilizzati da uptime e da altri comandi. Ecco un esempio di file loadavg:
0.20 0.18 0.12 1/80 11206 |
Le prime tre colonne misurano il grado di utilizzo della CPU negli ultimi 1, 5 e 10 minuti. La quarta colonna mostra il numero di processi attualmente in esecuzione e il numero totale dei processi. L'ultima colonna visualizza l'ultimo identificativo di processo usato.
Il file visualizza i file attualmente bloccati dal kernel. All'interno di questo file sono contenuti dati interni di debugging del kernel e il suo contenuto può variare notevolmente, a seconda dell'uso del sistema. Un tipico file /proc/locks di un sistema carico al minimo ha questo aspetto:
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 |
A ciascun blocco viene attribuito un numero, posto all'inizio di ogni linea. La seconda colonna si riferisce alla classe di blocco utilizzata: FLOCK indica che il file è stato bloccato, secondo il vecchio stile UNIX, da una chiamata di sistema flock, mentre POSIX rappresenta il nuovo sistema di bloccaggio POSIX, che si serve della chiamata di sistema lockf.
La terza colonna può avere due valori: ADVISORY o MANDATORY. ADVISORYindica che il blocco non impedisce ad altre persone di accedere ai dati, ma si limita a impedire altri tentativi di bloccare gli stessi. MANDATORY segnala che non sono permessi altri accessi ai dati mentre il blocco è attivo. La quarta colonna indica se il blocco concede o meno al proprietario (holder) l'accesso READ o WRITE al file, mentre la quinta colonna mostra l'ID del processo proprietario. La sesta colonna mostra l'ID del file che viene bloccato nel seguente formato: MAJOR-DEVICE: MINOR-DEVICE:INODE-NUMBER. La settima colonna indica dove inizia e finisce l'area del file bloccato. Le colonne restanti riportano le strutture interne dei dati del kernel utilizzati per il debugging e possono essere ignorate.
Il file contiene l'informazione corrente per configurazioni di dischi multipli (RAID). Se il vostro sistema non dispone di tale configurazione, allora /proc/mdstat avrà questo aspetto:
Personalities : read_ahead not set unused devices: <none> |
Il file rimane nello stato stesso stato come visto precedente finché non esiste un RAID software o un dispositivo md. In tal caso, potete usare /proc/mdstat per farvi un'idea dell'attuale situazione dei vostri dispositivi RAID mdX.
Il file /proc/mdstat mostra un sistema che presenta md0 configurato come dispositivo RAID 1. Al momento sta risincronizzando i dischi:
Personalities : [linear] [raid1] read_ahead 1024 sectors md0: active raid1 sda2[1] sdb2[0] 9940 blocks [2/2] [UU] resync=1% finish=12.3min algorithm 2 [3/3] [UUU] unused devices: <none> |
Questo è uno dei file nella directory /proc più comunemente usati: riporta, infatti, una grande quantità di preziose informazioni in merito all'attuale utilizzo della RAM nel sistema.
. Un sistema con 256 MB di RAM e 384 MB di spazio di swap potrebbe presentare un file /proc/meminfo simile a questo:
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 |
Molte delle informazioni qui riportate sono utilizzate dai comandi free, top e ps. A dire il vero, l'output del comando free ha un aspetto simile a quello del contenuto e della struttura di /proc/meminfo. Guardando direttamente /proc/meminfo, si possono osservare ulteriori dettagli relativi alla memoria:
Mem — lo stato attuale della RAM fisica presente nel sistema e fornisce un'analisi completa della quantità di memoria totale, usata, rimanente, condivisa, buffer e cache sotto forma di byte utilizzati.
Swap — la quantità totale, usata e rimanente dello spazio di swap, misurata in byte.
MemTotal — quantità totale di RAM fisica, misurata in kilobyte.
MemFree — quantità di RAM fisica, misurata in kilobyte, ancora inutilizzata dal sistema.
MemShared — con i kernel 2.4 e successivi non viene utilizzata, ma è stata lasciata per la compatibilità con i kernel delle precedenti versioni.
Buffers — quantità di RAM fisica, misurata in kilobyte, utilizzata per i buffer dei file.
Cached — quantità di RAM fisica, misurata in kilobyte, utilizzata come memoria cache.
Active — quantità totale di memoria cache buffer o pagina, misurata in kilobyte, impiegata attivamente.
Inact_dirty — quantità totale di memoria cache buffer o pagina, misurata in kilobyte, ch può essere liberata e resa disponibile.
Inact_clean — quantità totale di memoria cache buffer o pagina, misurata in kilobyte, che può essere liberata e resa disponibile.
Inact_target — quantità netta di allocazioni al secondo, misurata in kilobyte, con media calcolata per un minuto.
HighTotal e HighFree — quantità di memoria totale e rimanente, in kilobyte, che non è mappata direttamente allo spazio del kernel. Il valore HighTotal può variare a seconda del tipo di kernel utilizzato.
LowTotal e LowFree — quantità di memoria totale e rimanente, in kilobyte, mappata direttamente allo spazio del kernel. Il valore LowTotal può variare a seconda del tipo di kernel utilizzato.
SwapTotal — quantità totale di spazio di swap disponibile, misurata in kilobyte.
SwapFree — quantità totale di spazio di swap rimanente, misurata in kilobyte.
Il file elenca driver misti registrati sul dispositivo principale, il cui numero è 10:
135 rtc 1 psaux 134 apm_bios |
La prima colonna indica il numero minore di ciascun dispositivo, mentre la seconda colonna mostra il driver in uso.
Il file mostra un elenco di tutti i moduli che sono stati caricati nel kernel. Il suo contenuto varia a seconda della configurazione e dell'uso del sistema, ma dovrebbe essere organizzato in modo analogo all'output di questo file /proc/modules di esempio:
ide-cd 27008 0 (autoclean) cdrom 28960 0 (autoclean) [ide-cd] soundcore 4100 0 (autoclean) agpgart 31072 0 (unused) binfmt_misc 5956 1 iscsi 32672 0 (unused) scsi_mod 94424 1 [iscsi] autofs 10628 0 (autoclean) (unused) tulip 48608 1 ext3 60352 2 jbd 39192 2 [ext3] |
La prima colonna contiene il nome del modulo. La seconda si riferisce alla dimensione della memoria di questo modulo, misurata in byte. La terza colonna indica se il modulo è attualmente caricato (1) o non caricato (0 ). L'ultima colonna indica se il modulo può essere scaricato automaticamente dopo un certo periodo di inattività (autoclean) o se non lo si sta usando (unused). Un modulo che presenta una linea contenente un nome riportato tra parentesi ([ o ]) indica che esso dipende da un altro modulo che deve essere presente per poter funzionare.
Questo file fornisce un elenco rapido di tutti i mount utilizzati dal sistema:
rootfs / rootfs rw 0 0 /dev/hda2 / ext3 rw 0 0 /proc /proc proc rw 0 0 /dev/hda1 /boot ext3 rw 0 0 none /dev/pts devpts rw 0 0 none /dev/shm tmpfs rw 0 0 none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0 |
L'output è simile al contenuto di /etc/mtab, con la differenza che /proc/mount può essere più attuale.
La prima colonna specifica il dispositivo montato e la seconda indica il mountpoint. Nella terza colonna è indicato il tipo di filesystem, mentre la quarta specifica se è montato in modalità di sola lettura (ro) oppure lettura-scrittura (rw). La quinta e la sesta colonna riportano dei valori fittizi creati in modo da corrispondere al formato in uso in /etc/mtab.
Il file si riferisce agli MTRR (Memory Type Range Registers) in uso con il sistema. Se l'architettura del vostro sistema ha il supporto per gli MTRR, il file /proc/mtrr avrà all'incirca questo aspetto:
reg00: base=0x00000000 ( 0MB), size= 64MB: write-back, count=1 |
Gli MTRR vengono utilizzati con i processori Intel della famiglia P6 (Pentium II e successivi) per controllare l'accesso del processore ai range di memoria. Usando una scheda video su bus PCI o AGP, un file /proc/mtrr configurato correttamente può accrescere le prestazioni oltre il 150%.
Il valore è quasi sempre già configurato per default, in modo corretto. Per maggiori informazioni sulla configurazione manuale di questo file, consultate la URL: http://web1.linuxhq.com/kernel/v2.3/doc/mtrr.txt.html.
Molte delle informazioni qui riportate sono poco importanti per gran parte degli utenti, a eccezione delle linee che seguono:
major — il numero maggiore del dispositivo con questa partizione. Il numero maggiore nel nostro esempio (3) corrisponde al dispositivo ide0 in /proc/devices.
minor — il numero minore del dispositivo con questa partizione. Serve a separare le partizioni in dispositivi fisici differenti e si riferisce al numero posto alla fine del nome della partizione.
#blocks — elenca il numero dei blocchi fisici del disco contenuti in una determinata partizione.
name — nome della partizione.
Questo file contiene un elenco completo di tutti i dispositivi PCI presenti sul sistema. A seconda del numero di tali dispositivi, /proc/pci può raggiungere una discreta lunghezza. Ecco qui un esempio dell'aspetto di questo file su un sistema di 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]. |
L'output mostra un elenco di tutti i dispositivi PCI nell'ordine bus, dispositivo e funzione. Oltre a riportare il nome e la versione del dispositivo questo elenco fornisce anche informazioni dettagliate sull'IRQ in modo che l'amministratore può andare rapidamente alla ricerca di conflitti.
![]() | Suggerimento | |
|---|---|---|
Per ottenere una versione più leggibile di queste informazioni, digitate:
|
Il file fornisce informazioni sull'uso della memoria a livello dello slab. I kernel di Linux di versione superiore a 2.2 utilizzano i pool di slab per gestire la memoria oltre il livello di pagina. Gli oggetti comunemente utilizzati dispongono di pool di slab propri. Quella riportata di seguito è una porzione di un tipico file virtuale /proc/slabinfo/:
slabinfo - version: 1.1 kmem_cache 64 68 112 2 2 1 nfs_write_data 0 0 384 0 0 1 nfs_read_data 0 160 384 0 16 1 nfs_page 0 200 96 0 5 1 ip_fib_hash 10 113 32 1 1 1 journal_head 51 7020 48 2 90 1 revoke_table 2 253 12 1 1 1 revoke_record 0 0 32 0 0 1 clip_arp_cache 0 0 128 0 0 1 ip_mrt_cache 0 0 96 0 0 1 |
I valori contenuti nel file seguono l'ordine nome cache, numero di oggetti attivi, numero totale degli oggetti, dimensioni dell'oggetto, numero degli slab (blocchi) attivi degli oggetti, numero totale degli slab degli oggetti e numero delle pagine per ogni slab.
Va sottolineato che, in questo caso, attivo significa in uso.
Il file tiene traccia di svariate statistiche relative al sistema dal momento dell'ultimo riavvio. Il contenuto di /proc/stat, che può raggiungere una discreta lunghezza, inizia all'incirca in questo modo:
cpu 1139111 3689 234449 84378914 cpu0 1139111 3689 234449 84378914 page 2675248 8567956 swap 10022 19226 intr 93326523 85756163 174412 0 3 3 0 6 0 1 0 428620 0 60330 0 1368304 5538681 disk_io: (3,0):(1408049,445601,5349480,962448,17135856) ctxt 27269477 btime 886490134 processes 206458 |
Tra le statistiche più diffuse trovate:
cpu — calcola il numero di istanti (centesimi di secondo) in cui il sistema è stato in user mode, user mode con priorità bassa (nice), system mode e idle task, rispettivamente. Il totale per tutte le CPU viene riportato all'inizio e sotto vengono mostrate le singole CPU con le relative statistiche.
page — numero di pagine di memoria che il sistema ha utilizzato all'interno e all'esterno del disco.
swap — numero di pagine di swap raccolte e liberate dal sistema.
intr — numero degli interrupt verificatisi nel sistema.
btime — tempo di avvio, misurato in numero di secondi, a partire dal 1 gennaio 1970 (noto anche come epoca).
Il file misura lo spazio di swap e il suo utilizzo. Per sistemi che hanno un'unica partizione di swap, l'output del file /proc/swap ha all'incirca questo aspetto:
Filename Type Size Used Priority /dev/hda6 partition 136512 20024 -1 |
Queste informazioni si possono reperire anche in altri file disponibili nella directory /proc, ma /proc/swap fornisce una rapida istantanea del nome di ogni file di swap, del tipo di spazio di swap e delle dimensioni totali usate in kilobyte. La colonna della priorità (Priority) è utile quando vengono utilizzati file di swap multipli. Quanto più bassa è la priorità, tanto maggiore è la probabilità che il file di swap venga utilizzato.
Il file indica da quanto tempo il computer è acceso dal momento dell'ultimo riavvio. L'output di /proc/uptime è piuttosto ridotto:
350735.47 234388.90 |
Il primo numero indica il numero totale dei secondi trascorsi dall'accensione del sistema, mentre l'altro indica quanti di quei secondi la macchina ha trascorso in idle, in secondi.
Il file indica le versioni del kernel di Linux, di gcc in uso, e di Red Hat Linux installate sul sistema:
Linux version 2.4.20-0.40 (user@foo.redhat.com)(gcc version 3.2.1 20021125 (Red Hat Linux 8.0 3.2.1-1)) #1 Tue Dec 3 20:50:18 EST 2002 |
Queste informazioni servono per diversi scopi, tra cui quello di fornire i dati relativi alla versione al prompt di login.