8.15.2 Utilizzo delle risorse

Queste funzioni vengono utilizzate per avere informazioni sull'utilizzo delle risorse.

getrusage( who)
Questa funzione restituisce un oggetto che descrive le risorse consumate dal processo corrente e dai suoi figli, come specificato dal parametro who. Il parametro who dovrebbe venire specificato usando una delle costanti RUSAGE_* descritte sotto.

Ognuno dei campi del valore restituito descrive il modo in cui una particolare risorsa di sistema sia stata utilizzata, ad esempio la quantità di tempo trascorso nella modalità utente o il numero di volte in cui il processo è stato swappato fuori dalla memoria principale. Qualche valore è dipendente dal ciclo di clock interno, ad esempio la quantità di memoria che il processo sta utilizzando.

Per retrocompatibilità, i valori restituiti sono accessibili anche come una tupla di 16 elementi.

I campi ru_utime e ru_stime del valore restituito sono numeri in virgola mobile che rappresentano rispettivamente l'ammontare di tempo trascorso in modalità utente e la quantità di tempo trascorso in modalità sistema. I valori rimanenti sono interi. Consultate la pagina del manuale getrusage(2) per informazioni dettagliate su questi valori. Ecco qui presentato un breve sommario:

Indice  Campo  Risorsa 
0  ru_utime tempo in modalità utente (virgola mobile)
1  ru_stime tempo in modalità sistema (virgola mobile)
2  ru_maxrss la quantita` di memoria fisica (non-swap) utilizzata dal processo
3  ru_ixrss dimensione della memoria condivisa
4  ru_idrss dimensione della memoria non condivisa
5  ru_isrss dimensione di stack non condiviso
6  ru_minflt fault di pagina non richiedendo I/O
7  ru_majflt fault di pagina richiedendo I/O
8  ru_nswap numero di swap out
9  ru_inblock blocco delle operazioni di input
10  ru_oublock blocco delle operazioni di output
11  ru_msgsnd messaggi inviati
12  ru_msgrcv messaggi ricevuti
13  ru_nsignals segnali ricevuti
14  ru_nvcsw scambi di contesto volontari
15  ru_nivcsw scambi di contesto involontari

Questa funzione solleverà un'eccezione ValueError se viene specificato un parametro who non valido. Può anche sollevare eccezioni error in circostanze insolite.

Modificato nella versione 2.3: Aggiunto l'accesso ai valori come attributo dell'oggetto restituito.

getpagesize( )
Restituisce il numero di byte in una pagina di sistema. (Non è necessario che abbia la stessa dimensione della pagina hardware.) Questa funzione è utile per determinare il numero di byte di memoria che un processo sta utilizzando. Il terzo elemento della tupla restituita da getrusage() descrive l'uso della memoria in pagine; moltiplicando per la dimensione di una pagina, si ottiene il numero dei byte.

I seguenti simboli RUSAGE_* vengono passati alla funzione getrusage() per specificare quale informazione sui processi bisognerebbbe fornire.

RUSAGE_SELF
RUSAGE_SELF dovrebbe venire utilizzata per richiedere informazioni pertinenti unicamente al processo stesso.

RUSAGE_CHILDREN
Passata a getrusage() per richiedere informazioni di risorsa riguardanti i processi figli del processo chiamante.

RUSAGE_BOTH
Passata a getrusage() per richiedere informazioni sul consumo delle risorse sia del processo corrente che dei suoi processi figli. Potrebbe non essere disponibile su tutti sistemi.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.