Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ
îðèãèíàëüíîãî äîêóìåíòà
: http://www.arcetri.astro.it/irlab/doc/library/linux/AppLinux/al40.htm
Äàòà èçìåíåíèÿ: Tue Sep 21 18:08:34 1999 Äàòà èíäåêñèðîâàíèÿ: Sat Dec 22 13:21:19 2007 Êîäèðîâêà: Ïîèñêîâûå ñëîâà: ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï |
Nel capitolo introduttivo ai processi elaborativi si Õ giÞ accennato al ruolo del filesystem virtuale /proc/
di GNU/Linux. Al suo interno, oltre alla situazione di ogni processo, si possono conoscere molte altre informazioni legate al funzionamento del sistema operativo, oltre alla possibilitÞ, entro certi limiti, di interagire con il kernel per passargli delle informazioni particolari.
Per approfondire il significato e l'interpretazione dei file del filesystem virtuale /proc/
si puÐ consultare la pagina di manuale proc(5).
La quantitÞ di informazioni disponibili Õ tale per cui Õ facile perdersi tra questi file. Inoltre, con l'evolversi dei kernel cambiano i contenuti dei file virtuali e anche la loro collocazione. A questo proposito sono utili i programmi del pacchetto Procinfo che aiutano ad analizzare tali informazioni per generare dei resoconti e delle statistiche piÛ facili da consultare.
procinfo [<opzioni>] |
Il programma procinfo
Õ quello che, dal pacchetto omonimo, dÞ le informazioni piÛ comuni. I dati vengono visualizzati in forma piÛ o meno tabellare e i campi sono indicati attraverso dei nomi. Il significato di alcuni di questi Õ descritto nella tabella
30.1.
Nome | Descrizione |
Memory: | Utilizzo della memoria. |
Bootup: | Data e ora dell'avvio del sistema. |
Load average: | Carico medio. |
user: | Tempo per i processi avviati dagli utenti. |
nice: | Tempo per i processi avviati con un valore nice. |
system: | Tempo per i processi avviati dal kernel. |
idle: | Tempo non utilizzato. |
uptime: | Tempo complessivo di funzionamento. |
irq n: | Numero di interruzioni e dispositivo corrispondente. |
Modules: | Moduli del kernel installati. |
Character Devices: | Elenco dei dispositivi a caratteri. |
Block Devices: | Elenco dei dispositivi a blocchi. |
File Systems: | Tipi di filesystem gestibili. |
procinfo
.
Quando procinfo
viene utilizzato senza argomenti si ottengono le informazioni piÛ importanti che possono essere visualizzate su uno schermo normale, per esempio ciÐ che viene mostrato di seguito:
Linux 2.2.1 (root@dinkel.brot.dg) (gcc 2.7.2.3) #2 [dinkel.brot.dg] Memory: Total Used Free Shared Buffers Cached Mem: 29944 29160 784 9080 8656 5084 Swap: 28220 2084 26136 Bootup: Wed Mar 31 07:43:17 1999 Load average: 0.00 0.00 0.00 1/44 769 user : 0:06:32.78 6.0% page in : 63919 disk 1: 5197r 4550w nice : 0:00:00.00 0.0% page out: 100215 system: 0:00:46.04 0.7% swap in : 238 disk 3: 29r 0w idle : 1:41:26.13 93.3% swap out: 886 uptime: 1:48:44.93 context : 103822 irq 0: 652495 timer irq 9: 8736 fdomain irq 1: 39147 keyboard irq 12: 0 eth0 irq 2: 0 cascade [4] irq 13: 1 fpu irq 4: 502 serial irq 14: 9404 ide0 irq 6: 3 irq 15: 146 ide1 |
Eventualmente, procinfo
puÐ essere utilizzato per ottenere un'informazione continua (o quasi), come fa il programma top
. In questo senso puÐ essere stabilita una pausa tra un aggiornamento e il successivo. Durante questo funzionamento continuo, si possono utilizzare alcuni comandi interattivi, composti da una singola lettera, il cui significato tende a essere coerente con quello delle opzioni della riga di comando. In modo particolare, il comando q
termina il funzionamento continuo di procinfo
.
|
Fa in modo che procinfo
funzioni in modo continuo, a tutto-schermo.
|
Questa opzione implica automaticamente la selezione di
e serve a stabilire un intervallo tra un aggiornamento e l'altro delle informazioni visualizzate.
-
f
|
Mostra le informazioni sui moduli e sui dispositivi a caratteri e a blocchi, trascurando i dati relativi alla CPU e alla memoria.
|
Mostra tutte le informazioni disponibili, ma per questo non bastano le dimensioni di uno schermo normale.
|
Mostra le informazioni normali, cioÕ quelle sull'utilizzo della CPU, della memoria e degli interrupt, ma riferite a periodi di un secondo. CiÐ richiede il funzionamento di procinfo
in modo continuo, e infatti questa opzione implica automaticamente l'uso di
.
-
f
|
Ridirige l'output in un file, che di solito corrisponde al dispositivo di una console virtuale inutilizzata.
lsdev |
lsdev
Õ un programma molto semplice che si limita a mostrare una tabella con informazioni tratte dai file /proc/interrupts
, /proc/ioports
e /proc/dma
. In pratica mostra tutti gli indirizzi relativi all'hardware installato.
Il risultato che si ottiene potrebbe essere simile a quello seguente:
Device DMA IRQ I/O Ports ------------------------------------------------ 0 1 2 4 9 12 13 14 15 cascade 4 dma 0080-008f dma1 0000-001f dma2 00c0-00df eth0 ff80-ff9f fdomain ffa0-ffaf fpu 00f0-00ff ide0 01f0-01f7 03f6-03f6 8000-8007 ide1 0170-0177 0376-0376 8008-800f keyboard 0060-006f parport0 0378-037a pic1 0020-003f pic2 00a0-00bf serial 02f8-02ff 03f8-03ff timer 0040-005f vga+ 03c0-03df |
socklist |
socklist
Õ un programma molto semplice che si limita a mostrare una tabella con informazioni tratte dai file /proc/net/tcp
, /proc/net/udp
e /proc/net/raw
, integrandoli con le informazioni relative ai descrittori dei file di ogni processo, ovvero /proc/*/fd/*
.
Si tratta di informazioni utili per ciÐ che riguarda la gestione della rete, tuttavia questo programma viene mostrato qui per completare l'argomento di questo capitolo. Di seguito viene mostrato un esempio del risultato che si puÐ ottenere con socklist
.
type port inode uid pid fd name tcp 80 246 0 0 0 tcp 8080 245 0 0 0 tcp 25 230 0 0 0 tcp 2049 215 0 0 0 tcp 515 205 0 0 0 tcp 635 195 0 0 0 tcp 53 169 0 0 0 tcp 53 167 0 0 0 tcp 98 156 0 0 0 tcp 113 155 0 0 0 tcp 37 153 0 0 0 tcp 79 152 0 0 0 tcp 143 151 0 0 0 tcp 110 150 0 0 0 tcp 109 149 0 0 0 tcp 513 146 0 0 0 tcp 514 145 0 0 0 tcp 70 144 0 0 0 tcp 23 143 0 0 0 tcp 21 142 0 0 0 tcp 111 106 0 0 0 udp 2049 212 0 0 0 udp 635 190 0 0 0 udp 1024 170 0 0 0 udp 53 168 0 0 0 udp 53 166 0 0 0 udp 37 154 0 0 0 udp 518 148 0 0 0 udp 517 147 0 0 0 udp 514 115 0 0 0 udp 111 105 0 0 0 raw 1 0 0 0 0 raw 6 0 0 0 0 |
---------------------------
Appunti Linux 1999.09.21 --- Copyright © 1997-1999 Daniele Giacomini -- daniele @ pluto.linux.it