Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

NOTE: CentOS Enterprise Linux is built from the Red Hat Enterprise Linux source code. Other than logo and name changes CentOS Enterprise Linux is compatible with the equivalent Red Hat version. This document applies equally to both Red Hat and CentOS Enterprise Linux.
Linuxtopia - CentOS Enterprise Linux Reference Guide - File di livello superiore all'interno del filesystem proc

5.2. File di livello superiore all'interno del filesystem proc

L'elenco seguente riporta alcuni dei file virtuali di livello superiore pi� utili contenuti nella directory /proc/.

NotaNota Bene
 

Nella maggior parte dei casi, il contenuto dei file elencati in questa sezione non sar� lo stesso di quelli installati sulla vostra macchina. Questo perch� gran parte delle informazioni � specifica dell'hardware su cui Red Hat Enterprise Linux � in esecuzione.

5.2.1. /proc/apm

Questo file fornisce informazioni sullo stato del sistemaAdvanced Power Management (APM), 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 al seguente:

APM BIOS 1.2 (kernel driver 1.16ac)
AC on-line, no system battery

Per i sistemi non alimentati a batteria, apm pu� svolgere altre operazioni oltre a quella di 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 collegato a una presa di corrente:

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

Quando lo stesso portatile non � pi� collegato all'alimentazione, il contenuto del file apm cambia in modo seguente:

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)

5.2.2. /proc/buddyinfo

Questo file viene usato principalmente per diagnosticare le problematiche dovute alla frammentazione della memoria. Usando l'algoritmo buddy, ogni colonna rappresenta il numero di pagine di un certo ordine (e di una certa misura), disponibili in ogni istante. Per esempio, per la zona DMA (direct memory access), sono disponibili 90 blocchi di memoria 2^(0*PAGE_SIZE). In modo del tutto analogo, sono disponibili 6 blocchi di 2^(1*PAGE_SIZE) e 2 di 2^(2*PAGE_SIZE).

La riga DMA si riferisce ai primi 16 MB presenti su di un sistema, la riga HighMem invece si riferisce alla memoria con un valore maggiore di 4GB presente sul sistema, mentre Normal si riferisce alla memoria con un valore intermedio rispetto ai due precedentemente descritti.

Il seguente � un esempio di un output tipico di /proc/buddyinfo:

Node 0, zone      DMA     90      6      2      1      1      ...
Node 0, zone   Normal   1650    310      5      0      0      ...
Node 0, zone  HighMem      2      0      0      1      1      ...

5.2.3. /proc/cmdline

Questo file mostra i parametri trasmessi al kernel al momento dell'avvio. Un esempiodel file /proc/cmdline ha il seguente aspetto:

ro root=/dev/VolGroup00/LogVol00 rhgb quiet 3

Ci� sta ad indicare che il kernel � stato montato in modalit� di sola lettura ((ro)), posizionato sul primo volume logico (LogVol00) del primo gruppo di volume (/dev/VolGroup00). LogVol00 � l'equivalente di una partizione del disco presente in un sistema non-LVM (Logical Volume Management), proprio come /dev/VolGroup00 risulta essere simile nel concetto a /dev/hda1, ma pi� flessibile.

Per maggiori informazioni sull'LVM utilizzato con Red Hat Enterprise Linux, consultate https://www.tldp.org/HOWTO/LVM-HOWTO/index.html.

rhgb indica l'installazione del pacchetto rhgb, e che l'avvio grafico � supportato, assumendo per� che /etc/inittab sia in grado di visualizzare il runlevel di default impostato su id:5:initdefault:.

Per finire, quiet indica la soppressione di tutti i messaggi verbose del kernel al momento dell'avvio.

5.2.4. /proc/cpuinfo

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	: GenuineIntel
cpu family	: 15
model		: 2
model name	: Intel(R) Xeon(TM) CPU 2.40GHz
stepping	: 7
cpu MHz		: 2392.371
cache size	: 512 KB
physical id	: 0
siblings	: 2
runqueue	: 0
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 apic sep mtrr pge mca 
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
bogomips	: 4771.02

  • processor — Attribuisce un numero identificativo a ciascun processore. Sui sistemi che hanno un unico processore, viene visualizzato soltanto 0.

  • cpu family — � in grado di identificare il tipo di processore presente nel 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.

  • siblings — Visualizza il numero di CPU sibling sullo stesso CPU fisico, per architetture che usano hyper-threading.

  • flags — definisce svariate caratteristiche del processore, per esempio la presenza di una FPU (unit� in virgola mobile) e la capacit� di elaborare istruzioni MMX.

5.2.5. /proc/crypto

Questo file elenca tutte le informazioni installate riguardanti la cifratura e utilizzate dal kernel di Linux, incluso ogni singola informazione. Di seguito viene riportato un esempio di file /proc/crypto:

name         : sha1
module       : kernel
type         : digest
blocksize    : 64
digestsize   : 20
 
name         : md5
module       : md5
type         : digest
blocksize    : 64
digestsize   : 16

5.2.6. /proc/devices

Questo file visualizza i diversi caratteri e dispositivi a blocchi attualmente configurati (non include i dispositivi i cui moduli non sono stati caricati). Ecco riportato un esempio di output:

Character devices:
  1 mem
  4 /dev/vc/0
  4 tty
  4 ttyS
  5 /dev/tty
  5 /dev/console
  5 /dev/ptmx
  7 vcs
 10 misc
 13 input
 29 fb
 36 netlink
128 ptm
136 pts
180 usb
 
Block devices:
  1 ramdisk
  3 ide0
  9 md
 22 ide1
253 device-mapper
254 mdp

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:

  1. I dispositivi a carattere non richiedono l'operazione di buffering.Mentre i dispositivi a blocco dispongono di un buffer 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� l'abilit� di ordinare l'informazione prima che venga scritta sul dispositivo � permette poi di ordinarla in modo pi� efficiente.

  2. I dispositivi a carattere non inviano i dati in base a una dimensione predefinita. In secondo luogo, i dispositivi a blocchi possono inviare e ricevere informazioni in blocchi di una certa dimensione, configurati a seconda del dispositivo.

Per maggiori informazioni sui dispositivi, consultate la seguente documentazione:

/usr/share/doc/kernel-doc-<version>/Documentation/devices.txt

5.2.7. /proc/dma

Questo file contiene un elenco dei canali DMA per il canale ISA in uso. Un esempio di file /proc/dma ha il seguente aspetto:

 4: cascade

5.2.8. /proc/execdomains

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]

Pensate ai domini degli eseguibili, come la "personalit�" di un determinato sistema operativo. Poich� 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 le chiamate del sistema da questi binari,cambiando la personalit� del compito. A eccezione del dominio eseguibile PER_LINUX, personalit� diverse possono essere implementate come moduli caricabili dinamicamente.

5.2.9. /proc/fb

Questo file contiene un elenco di dispositivi del frame buffer, con il numero del dispositivo del frame buffer 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

5.2.10. /proc/filesystems

Il file visualizza un elenco dei tipi di filesystem attualmente supportati dal kernel. Un esempio di output da un file /proc/filesystems generico, � simile a quanto segue:

nodev   sysfs
nodev   rootfs
nodev   bdev
nodev   proc
nodev   sockfs
nodev   binfmt_misc
nodev   usbfs
nodev   usbdevfs
nodev   futexfs
nodev   tmpfs
nodev   pipefs
nodev   eventpollfs
nodev   devpts
        ext2
nodev   ramfs
nodev   hugetlbfs
        iso9660
nodev   mqueue
        ext3
nodev   rpc_pipefs
nodev   autofs

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 attraverso i filesystem qui riportati,quando non ne viene specificato uno come argomento.

5.2.11. /proc/interrupts

Questo file registra il numero di interrupt per (IRQ) su di una architettura x86. Un file standard /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, i quali sono specifici a seconda dell'architettura, ha un significato leggermente diverso. Per le macchine x86, sono comuni i seguenti valori:

  • 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 con l'aumentare del suo segnale di voltaggio, fino a quando lo stesso segnale non diminuisce il suo valore.

5.2.12. /proc/iomem

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 ogni tipo di memoria. La seconda colonna indica il tipo di memoria presente all'interno di tali registri e visualizza persino quali registri di memoria sono usati dal kernel all'interno della RAM del sistema o, se il network interface card possiede porte Ethernet multiple, e i registri di memoria assegnati per ogni porta.

5.2.13. /proc/ioports

L'output di /proc/ioports fornisce un elenco della porta registrata che viene utilizzata per comunicazioni in ingresso o in uscita con un dispositivo. Questo file pu� essere piuttosto lungo. Il seguente risulta essere un elenco parziale:

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'effettiva gamma dell'indirizzo della porta I/O riservato al dispositivo presente nell'elenco della seconda colonna.

5.2.14. /proc/kcore

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.

CautelaAttenzione
 

Non cercate di visualizzare il file virtuale /proc/kcore. I contenuti del file altereranno l'output di testo sul terminale. Se vi dovesse capitare per errore di visualizzare il file, premete [Ctrl]-[C] per arrestare il processo e digitate poi reset per tornare a visualizzare il prompt della linea di comando.

5.2.15. /proc/kmsg

Il file � utilizzato per contenere messaggi generati dal kernel. Tali messaggi vengono poi raccolti da altri programmi, come per esempio /sbin/klogd o /bin/dmesg.

5.2.16. /proc/loadavg

Questo file permette di dare uno sguardo al carico medio del processore riguardante la CPU e IO nel tempo, e fornisce altres� dati aggiuntivi utilizzati da uptime e da altri comandi. Un esempio di file /proc/loadavg sar� simile al seguente:

0.20 0.18 0.12 1/80 11206

Le prime tre colonne misurano il grado di utilizzo della CPU e IO nei periodi da uno, cinque 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 ID usato.

5.2.17. /proc/locks

Questo file visualizza i file attualmente bloccati dal kernel. I contenuti di questo file presentano dati interni di debugging del kernel, e possono variare sensibilmente a seconda dell'uso del sistema. Un file tipico /proc/locks di un sistema con carico al minimo ha questo aspetto:

1: POSIX  ADVISORY  WRITE 3568 fd:00:2531452 0 EOF
2: FLOCK  ADVISORY  WRITE 3517 fd:00:2531448 0 EOF
3: POSIX  ADVISORY  WRITE 3452 fd:00:2531442 0 EOF
4: POSIX  ADVISORY  WRITE 3443 fd:00:2531440 0 EOF
5: POSIX  ADVISORY  WRITE 3326 fd:00:2531430 0 EOF
6: POSIX  ADVISORY  WRITE 3175 fd:00:2531425 0 EOF
7: POSIX  ADVISORY  WRITE 3056 fd:00:2548663 0 EOF

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; si limita ad 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. La quinta colonna mostra l'ID del processo che detiene il blocco. La sesta colonna mostra l'ID del file che viene bloccato nel seguente formato: MAJOR-DEVICE: MINOR-DEVICE:INODE-NUMBER. La settima e l'ottava colonna indicano dove inizia e finisce l'area del file bloccato.

5.2.18. /proc/mdstat

Questo file contiene l'informazione corrente per la configurazioni di dischi multipli (RAID). Se il sistema non dispone di tale configurazione, allora /proc/mdstat avr� il seguente aspetto:

Personalities : 
read_ahead not set
unused devices: <none>

Il file rimane nella stessa condizione 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>

5.2.19. /proc/meminfo

Questo � uno dei file nella directory /proc pi� comunemente usati: riporta, infatti, una grande quantit� di informazioni preziose in merito all'attuale utilizzo della RAM nel sistema.

Un sistema con 256 MB di RAM e 512 MB di spazio swap potrebbe presentare un file /proc/meminfo simile a questo:

MemTotal:       255908 kB
MemFree:         69936 kB
Buffers:         15812 kB
Cached:         115124 kB
SwapCached:          0 kB
Active:          92700 kB
Inactive:        63792 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:       255908 kB
LowFree:         69936 kB
SwapTotal:      524280 kB
SwapFree:       524280 kB
Dirty:               4 kB
Writeback:           0 kB
Mapped:          42236 kB
Slab:            25912 kB
Committed_AS:   118680 kB
PageTables:       1236 kB
VmallocTotal:  3874808 kB
VmallocUsed:      1416 kB
VmallocChunk:  3872908 kB
HugePages_Total:     0
HugePages_Free:      0
Hugepagesize:     4096 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 ai contenuti e alla struttura di /proc/meminfo. Guardando direttamente /proc/meminfo, si possono osservare ulteriori dettagli:

  • MemTotal — quantit� totale di RAM fisica, misurata in kilobyte.

  • MemFree — quantit� di RAM fisica, misurata in kilobyte, ancora inutilizzata dal sistema.

  • 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.

  • SwapCached — La quantit� di swap misurata in kilobyte, utilizzata come memoria cache.

  • Active — Risulta essere la quantit� totale di memoria cache buffer o della pagina, misurata in kilobyte ed impiegata attivamente. Esso rappresenta la quantit� di memoria utilizzata recentemente, e non impiegata per altri scopi.

  • Inactive — Risulta essere la quantit� totale di memoria cache buffer o della pagina, misurata in kilobyte e disponibile all'uso. Esso rappresenta la quantit� di memoria non recentemente utilizzata, ed in grado di essere impiegata per altri scopi.

  • 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.

  • Dirty — La quantit� totale di memoria misurata in kilobyte, in attesa di essere riscritta su disco.

  • Writeback — La quantit� totale di memoria misurata in kilobyte, riscritta attivamente sul disco.

  • Writeback — La quantit� totale di memoria misurata in kilobyte, impiegata per mappare i dispositivi, i file o le librerie utilizzando il comando mmap.

  • Slab — La quantit� di memoria misurata in kilobyte, utilizzata dal kernel, per conservare i dati sulla struttura riguardanti il proprio utilizzo.

  • Committed_AS — La quantit� totale di memoria misurata in kilobyte, stimata per completare il carico di lavoro. Questo valore rappresenta l'ipotesi peggiore, ed include il valore della memoria di swap.

  • PageTables — La quantit� totale di memoria misurata in kilobyte, dedicata al livello pi� basso della tabella della pagina.

  • VMallocTotal — La quantit� totale di memoria misurata in kilobyte, per lo spazio totale allocato all'indirizzo virtuale.

  • VMallocUsed — La quantit� totale di memoria misurata in kilobyte, riguardante lo spazio usato dell'indirizzo virtuale.

  • VMallocChunk — Il blocco di memoria adiacente pi� grande, misurato in kilobyte, dello spazio disponibile dell'indirizzo virtuale.

  • HugePages_Total — Il numero totale di hugepage per il sistema. Il numero � ottenuto dividendo Hugepagesize per i megabyte impostati separatamente per le hugepage specificate in /proc/sys/vm/hugetlb_pool. Questa statistica appare solo sulle architetture x86, Itanium, e AMD64.

  • HugePages_Free — Il numero totale di hugepage disponibili per il sistema. Questa statistica appare solo sulle architetture x86, Itanium, e AMD64.

  • Hugepagesize — La misura per ogni unit� hugepage in kilobyte. Per default, il valore � 4096 KB su kernel di tipo uniprocessor per architetture a 32 bit. Per SMP e kernel hugemem e AMD64, il default � 2048 KB. Per architetture Itanium il default � 262144 KB. Questa statistica appare solo sulle architetture x86, Itanium, e AMD64.

5.2.20. /proc/misc

Il file elenca driver misti registrati sul dispositivo principale, il cui numero � 10:

 63 device-mapper
175 agpgart
135 rtc
134 apm_bios

La prima colonna indica il numero minore di ciascun dispositivo, mentre la seconda colonna mostra il driver in uso.

5.2.21. /proc/modules

Questo file mostra un elenco di tutti i moduli che sono stati caricati nel kernel. Il suoi contenuti variano a seconda della configurazione e dell'uso del vostro sistema, ma dovrebbe essere organizzato in modo analogo all'output delfile /proc/modules di questo esempio:

NotaNota Bene
 

Questo esempio � stato riformattato in un formato leggibile. La maggior parte di queste informazioni possono essere visualizzate tramite il comando /sbin/lsmod.

nfs      170109  0 -          Live 0x129b0000
lockd    51593   1 nfs,       Live 0x128b0000
nls_utf8 1729    0 -          Live 0x12830000
vfat     12097   0 -          Live 0x12823000
fat      38881   1 vfat,      Live 0x1287b000
autofs4  20293   2 -          Live 0x1284f000
sunrpc   140453  3 nfs,lockd, Live 0x12954000
3c59x    33257   0 -          Live 0x12871000
uhci_hcd 28377   0 -          Live 0x12869000
md5      3777    1 -          Live 0x1282c000
ipv6     211845 16 -          Live 0x128de000
ext3     92585   2 -          Live 0x12886000
jbd      65625   1 ext3,      Live 0x12857000
dm_mod   46677   3 -          Live 0x12833000

La prima colonna contiene il nome del modulo.

La seconda colonna si riferisce alla dimensione della memoria del modulo espressa in byte.

La terza colonna elenca gli esempi del modulo precedentemente caricati. Il valore zero rappresenta un modulo che � stato scaricato.

La quarta colonna indica se il modulo dipende dalla presenza di un altro modulo per poter funzionare, elencando i moduli in questione.

La quinta colonna indica lo stato di caricamento nel quale si trova il modulo: Live, Loading, o Unloading, rappresentano i soli valori possibili.

La sesta colonna indica l'offset attuale della memoria del kernel, per il modulo caricato. Questa informazione potrebbe essere utile per il debugging, o per tool come oprofile.

5.2.22. /proc/mounts

Questo file fornisce un elenco di tutti i mount utilizzati dal sistema:

rootfs / rootfs rw 0 0
/proc /proc proc rw,nodiratime 0 0
none /dev ramfs rw 0 0
/dev/mapper/VolGroup00-LogVol00 / ext3 rw 0 0
none /dev ramfs rw 0 0
/proc /proc proc rw,nodiratime 0 0
/sys /sys sysfs rw 0 0
none /dev/pts devpts rw 0 0
usbdevfs /proc/bus/usb usbdevfs rw 0 0
/dev/hda1 /boot ext3 rw 0 0
none /dev/shm tmpfs rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0

L'output qui di seguito � simile ai contenuti di /etc/mtab, con la differenza che /proc/mount potrebbe risultare pi� aggiornato.

La prima colonna specifica il dispositivo montato e la seconda indica il mountpoint, e la terza colonna indica 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.

5.2.23. /proc/mtrr

Il file si riferisce all'attuale MTRR (Memory Type Range Registers) in uso con il sistema. Se l'architettura del sistema supporta gli MTRR, allora il file /proc/mtrr avr� all'incirca questo aspetto:

reg00: base=0x00000000 (   0MB), size= 256MB: write-back, count=1
reg01: base=0xe8000000 (3712MB), size=  32MB: write-combining, count=1

Gli MTRR vengono utilizzati con i processori Intel della famiglia P6 (Pentium II e successivi) per controllare l'accesso del processore nella gamma della memoria. Usando una scheda video su bus PCI o AGP, un file /proc/mtrr configurato correttamente, pu� aumentare le prestazioni pi� del 150%.

Il pi� delle volte, questo valore � configurato per default. Per maggiori informazioni sulla configurazione manuale di questo file consultate quanto segue:

/usr/share/doc/kernel-doc-<version>/Documentation/mtrr.txt

5.2.24. /proc/partitions

Questo file contiene le informazioni per l'allocazione del blocco della partizione. Un esempio di questo file � simile al seguente:

major minor  #blocks  name
 
   3     0   19531250 hda
   3     1     104391 hda1
   3     2   19422585 hda2
 253     0   22708224 dm-0
 253     1     524288 dm-1

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 in /proc/partitions, (3), corrisponde al dispositivo a blocco ide0 presente 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.

5.2.25. /proc/pci

Questo file contiene un elenco completo di tutti i dispositivi PCI presenti sul sistema. A seconda del numero dei dispositivi PCI, /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.

SuggerimentoSuggerimento
 

Per ottenere una versione pi� leggibile di queste informazioni, digitate:

/sbin/lspci -vb

5.2.26. /proc/slabinfo

Questo file fornisce informazioni sull'uso della memoria a livello dello slab. I kernel di Linux di versione superiore a 2.2 utilizzano i gruppi di slab, per gestire la memoria oltre il livello di pagina. Gli oggetti comunemente utilizzati dispongono di gruppi di slab propri.

Invece di eseguire manualmente il parsing di un file molto dettagliato del tipo /proc/slabinfo, il programma /usr/bin/slabtop visualizza le informazioni slab cache del kernel in tempo reale. Questo programma permette di eseguire configurazioni personalizzate, incluso il refresh della schermata e l'operazione di riordino delle colonne.

Qui di seguito viene riportato un esempio di /usr/bin/slabtop:

 Active / Total Objects (% used)    : 133629 / 147300 (90.7%)
 Active / Total Slabs (% used)      : 11492 / 11493 (100.0%)
 Active / Total Caches (% used)     : 77 / 121 (63.6%)
 Active / Total Size (% used)       : 41739.83K / 44081.89K (94.7%)
 Minimum / Average / Maximum Object : 0.01K / 0.30K / 128.00K
                                                                                                                  
  OBJS ACTIVE  USE OBJ SIZE  SLABS OBJ/SLAB CACHE SIZE NAME
 44814  43159  96%    0.62K   7469        6     29876K ext3_inode_cache
 36900  34614  93%    0.05K    492       75      1968K buffer_head
 35213  33124  94%    0.16K   1531       23      6124K dentry_cache
  7364   6463  87%    0.27K    526       14      2104K radix_tree_node
  2585   1781  68%    0.08K     55       47       220K vm_area_struct
  2263   2116  93%    0.12K     73       31       292K size-128
  1904   1125  59%    0.03K     16      119        64K size-32
  1666    768  46%    0.03K     14      119        56K anon_vma
  1512   1482  98%    0.44K    168        9       672K inode_cache
  1464   1040  71%    0.06K     24       61        96K size-64
  1320    820  62%    0.19K     66       20       264K filp
   678    587  86%    0.02K      3      226        12K dm_io
   678    587  86%    0.02K      3      226        12K dm_tio
   576    574  99%    0.47K     72        8       288K proc_inode_cache
   528    514  97%    0.50K     66        8       264K size-512
   492    372  75%    0.09K     12       41        48K bio
   465    314  67%    0.25K     31       15       124K size-256
   452    331  73%    0.02K      2      226         8K biovec-1
   420    420 100%    0.19K     21       20        84K skbuff_head_cache
   305    256  83%    0.06K      5       61        20K biovec-4
   290      4   1%    0.01K      1      290         4K revoke_table
   264    264 100%    4.00K    264        1      1056K size-4096
   260    256  98%    0.19K     13       20        52K biovec-16
   260    256  98%    0.75K     52        5       208K biovec-64

Alcune delle statistiche pi� comunemente usate in /proc/slabinfo e incluse in /usr/bin/slabtop includono:

  • OBJS — Il numero totale di oggetti (blocchi di memoria), incluso quelli in uso (allocati), e quelli di riserva non in uso.

  • ACTIVE — Il numero di oggetti (blocchi di memoria) in uso (allocati).

  • USE — Percentuale degli oggetti attivi. ((ACTIVE/OBJS)(100))

  • OBJ SIZE — Misura degli oggetti.

  • SLABS — Il numero totale di slab.

  • OBJ/SLAB — Il numero degli oggetti in grado di essere conservati all'interno di uno slab.

  • CACHE SIZE — La misura della cache dello slab.

  • NAME — Il nome dello slab.

Per maggiori informazioni sul programma /usr/bin/slabtop, consultate la pagina man di slabtop.

5.2.27. /proc/stat

Questo file tiene traccia di svariate statistiche relative al sistema dal momento dell'ultimo riavvio. I contenuti di /proc/stat, i quali possono raggiungere una discreta lunghezza, iniziano generalmente in questo modo:

cpu  259246 7001 60190 34250993 137517 772 0
cpu0 259246 7001 60190 34250993 137517 772 0
intr 354133732 347209999 2272 0 4 4 0 0 3 1 1249247 0 0 80143 0 422626 5169433
ctxt 12547729
btime 1093631447
processes 130523
procs_running 1
procs_blocked 0
preempt 5651840

cpu  209841 1554 21720 118519346 72939 154 27168
cpu0 42536 798 4841 14790880 14778 124 3117
cpu1 24184 569 3875 14794524 30209 29 3130
cpu2 28616 11 2182 14818198 4020 1 3493
cpu3 35350 6 2942 14811519 3045 0 3659
cpu4 18209 135 2263 14820076 12465 0 3373
cpu5 20795 35 1866 14825701 4508 0 3615
cpu6 21607 0 2201 14827053 2325 0 3334
cpu7 18544 0 1550 14831395 1589 0 3447
intr 15239682 14857833 6 0 6 6 0 5 0 1 0 0 0 29 0 2 0 0 0 0 0 0 0 94982 0 286812
ctxt 4209609
btime 1078711415
processes 21905
procs_running 1
procs_blocked 0

Alcune delle statistiche pi� comunemente usate includono:

  • cpu — Misura il numero di jiffies (1/100 di secondo per i sistemi x86) rispettivamente in modalit� utente, in modalit� utente con priorit� bassa (nice), system mode, compiti idle, attesa I/O, IRQ (hardirq), e softirq. IRQ (hardirq) rappresenta la risposta pi� diretta ad un evento hardware. IRQ implica un lavoro minimo per ordinare il lavoro "pesante" in modo da poter eseguire softirq. Softirq viene eseguito con una priorit� pi� bassa rispetto a IRQ, e quindi pu� essere interrotto pi� frequentemente. Il totale per tutte le CPU viene riportato nella parte superiore, mentre ogni singola CPU viene elencata nella parte bassa insieme con le proprie statistiche. Il seguente esempio riporta una configurazione del tipo 4-way Intel Pentium Xeon, con il multi-threading abilitato, quindi in grado di mostrare quattro processori fisici e quattro processori virtuali per un totale di otto processori.

  • 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).

5.2.28. /proc/swaps

Questo 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/mapper/VolGroup00-LogVol01   partition   524280   0       -1

Anche se queste informazioni si possono trovare in altri file disponibili nella directory /proc/, /proc/swap fornisce una rapida rappresentazione del nome di ogni file di swap, del tipo di spazio di swap e delle dimensioni totali usate (in kilobyte). La colonna della priorit� � utile quando vengono utilizzati file di swap multipli. Quanto pi� bassa � la priorit�, tanto maggiore � la probabilit� che il file di swap venga utilizzato.

5.2.29. /proc/sysrq-trigger

Usando il comando echo, un utente root remoto pu� eseguire i comandi System Request Key in modo remoto, come se fosse in un terminal locale. Per eseguire echo e quindi per inserire i valori in questo file, /proc/sys/kernel/sysrq deve essere impostato su di un valore diverso da 0. Per maggiori informazioni sul System Request Key, consultate la Sezione 5.3.9.3.

Anche se � possibile scrivere su questo file, non � possibile effettuare la lettura, anche da parte di utente root.

5.2.30. /proc/uptime

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.

5.2.31. /proc/version

Questo file indica la versione del kernel di Linux, del gcc in uso, e della versione di Red Hat Enterprise Linux installata sul sistema:

Linux version 2.6.8-1.523 ([email protected]) (gcc version 3.4.1 20040714 \
 (Red Hat Enterprise Linux 3.4.1-7)) #1 Mon Aug 16 13:27:03 EDT 2004

Queste informazioni servono per diversi scopi, tra cui quello di fornire i dati relativi alla versione al prompt di login.

 
 
  Published under the terms of the GNU General Public License Design by Interspire