prof. Nunzio Brugaletta

atapSO

EnneBi – Computer Science
AvantiIndietroInizio




Informazioni sulle risorse occupate: /proc

La /proc è una pseudo directory nel senso che, se si esegue il comando ls -l si otterrà un elenco di file con dimensione nulla. In realtà non c'è nulla di strano perché i file mostrano informazioni su vari aspetti del sistema in esecuzione. La maggior parte dei file presenti in questa directory sono visualizzabili per mezzo del comando less: si tratta infatti di file di testo che, trattando situazioni in continuo divenire (per esempio l'occupazione di memoria), sono generati dal sistema quando deve fornire una risposta alla richiesta di visualizzazione, e una successiva ripetizione dello stesso comando fornirà dati diversi. In definitiva quando il sistema deve rispondere al comando di visualizzazione, scatta una fotografia dello stato della risorsa e fornisce le informazioni. Di conseguenza alla prossima richiesta viene scattata una nuova fotografia che sarà diversa della prima essendo nel frattempo cambiato lo stato della risorsa.

Verranno esaminate adesso alcune risorse disponibili nel sistema:

$ cd /proc
$ less cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 8
model name      : Pentium III (Coppermine)
stepping        : 6
cpu MHz         : 800.024
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse
bogomips        : 1582.76

nell'esempio proposto, dopo aver selezionato la directory /proc, si è richiesta la visualizzazione delle informazioni sulla CPU presente nel sistema. Nel caso in esame si tratta di un Intel Pentium III a 800 Mhz.

Allo stesso modo si potrebbe voler avere informazioni sulle porte di I/O presenti:

$ less ioports
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
...
0170-0177 : ide1
01f0-01f7 : ide0
02f8-02ff : serial(auto)
...
0378-037a : parport0
037b-037f : parport0
03c0-03df : vga+
...

o sulla mappatura della memoria:

$ less iomem
00000000-0009fbff : System RAM
0009fc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000f0000-000fffff : System ROM
00100000-13feffff : System RAM
  00100000-0024b8dd : Kernel code
0024b8de-003457a3 : Kernel data
...

Le informazioni sull'occupazione di memoria sono accessibili visualizzando lo pseudo-file meminfo:

$ less /proc/meminfo
MemTotal:       320424 kB
MemFree:         56112 kB
Buffers:          9576 kB
Cached:         176320 kB
SwapCached:          0 kB
Active:         122792 kB
Inactive:       124780 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:       320424 kB
LowFree:         56112 kB
SwapTotal:      787144 kB
SwapFree:       787144 kB
Dirty:              40 kB
Writeback:           0 kB
Mapped:         129288 kB
Slab:            12432 kB
CommitLimit:    947356 kB
Committed_AS:   126420 kB
PageTables:       1160 kB
VmallocTotal:   704504 kB
VmallocUsed:      5300 kB
VmallocChunk:   697536 kB
HugePages_Total:     0
HugePages_Free:      0
Hugepagesize:     4096 kB

i valori vengono dettagliati per ogni voce presente.

$ free
             total       used       free     shared    buffers     cached
Mem:        320424     264256      56168          0       9588     176456
-/+ buffers/cache:      78212     242212
Swap:       787144          0     787144

Il comando free, facendo riferimento alle stesse informazioni, ne fornisce una visione sintetica.




AvantiIndietro - Inizio

http://ennebi.solira.org

ennebi@solira.org