- blkio.weight
specifica, per impostazione predefinita, la proporzione relativa (weight), di accesso del Block I/O ad un cgroup, nel range di valori compresi tra 100
e 1000
. Questo valore viene sovrascritto per dispositivi specifici dal parametro blkio.weight_device
. Per esempio, per assegnare un peso predefinito di 500
ad un cgroup per l'accesso ai dispositivi a blocchi, eseguire:
echo 500 > blkio.weight
- blkio.weight_device
specifica la proporzione relativa (
peso) di accesso all'I/O su dispositivi specifici ad un cgroup, nel range compreso fra
100
e
1000
. Il valore di questo parametro sovrascrive il valore di
blkio.weight
per i dispositivi specificati. I valori presentano il seguente formato
maggiore
:
minore
peso
, dove
maggiore
e
minore
corrispondono ai tipi di dispositivo ed ai numeri di nodo come specificati in
Linux Allocated Devices, anche conosciuto come
Linux Devices List e disponibile su
http://www.kernel.org/doc/Documentation/devices.txt. Per esempio, per assegnare un peso di
500
ad un cgroup, per l'accesso al
/dev/sda
, eseguire:
echo 8:0 500 > blkio.weight_device
Nella notazione di Linux Allocated Devices, 8:0
rappresenta /dev/sda
.
- blkio.time
notifica il tempo nel quale un cgroup ha avuto accesso di I/O ai dispositivi specifici. Le voci presentano tre campi: maggiore
, minore
, e tempo
. Maggiore
e minore
corrispondono ai tipi di dispositivo ed ai numeri di nodo specificati nel Linux Allocated Devices, e tempo
è la durata del periodo, espresso in millisecondi (ms).
- blkio.sectors
notifica il numero di settori trasferiti da/verso dispositivi specifici, da un cgroup. Le voci presentano tre campi: maggiore
, minore
, e settori
. Maggiore
e minore
corrispondono ai tipi di dispositivo ed ai numeri di nodo specificati nei Linux Allocated Devices e settori
è il numero di settori del disco.
- blkio.io_serviced
notifica il numero di operazioni di I/O eseguite su dispositivi specifici da un cgroup come visto dallo schedulatore CFQ. Le voci sono quattro campi: maggiore
, minore
, operazione
e numero
. Maggiore
e minore
corrispondono ai tipi di dispositivo ed ai numeri di nodo specificati nei Linux Allocated Devices, operazione
rappresenta il tipo di operazione (read
, write
, sync
, o async
) e numero
rappresenta il numero di operazioni.
- blkio.io_service_bytes
notifica il numero di byte trasferiti da/verso dispositivi specifici da un cgroup come visto dallo schedulatore CFQ. Le voci hanno quattro campi:maggiore
, minore
, operazione
e byte
. Maggiore
e minore
corrispondono ai tipi di dispositivo ed ai numeri di nodo specificati in Linux Allocated Devices, operazione
rappresenta il tipo di operazione (read
, write
, sync
, o async
) e byte
il numero di byte trasferiti.
- blkio.io_service_time
notifica il tempo totale tra l'invio ed il completamento di richieste per operazioni di I/O su dispositivi specifici, da un cgroup come visto dallo schedulatore CFQ. Le voci hanno quattro campi:maggiore
, minore
, operazione
e tempo
. Maggiore
e minore
corrispondono ai tipi di dispositivo ed ai numeri di nodo specificati in Linux Allocated Devices, operazione
rappresenta il tipo di operazione (read
, write
, sync
, o async
) e tempo
è la durata del periodo in nanosecondi (ns). Il periodo è riportato in nanosecondi piuttosto che in unità maggiori, cosicché questo report è significativo anche per dispositivi a stato solido.
- blkio.io_wait_time
notifica il tempo totale che le operazioni di I/O su dispositivi specifici di un cgroup, spendono in attesa di un servizio in coda dello scheduler. Per l'interpretazione di questo report notare che:
il tempo riportato può essere maggiore del tempo totale trascorso, poiché il tempo riportato è un periodo cumulativo di tutte le operazioni di I/O per il cgroup piuttosto che il periodo che il cgroup stesso ha speso in attesa delle operazioni di I/O. Per trovare il tempo speso dal cgroup in attesa, usare il parametro blkio.group_wait_time
.
se il dispositivo presenta un queue_depth
> 1, il tempo riportato include solo il tempo necessario per l'invio della richiesta al dispositivo e non il tempo d'attesa per il servizio mentre il dispositivo riordina le richieste.
Le voci sono quattro campi:maggiore
, minore
, operazione
e tempo
. Maggiore
e minore
corrispondono ai tipi di dispositivo ed ai numeri di nodo specificati in Linux Allocated Devices, operazione
rappresenta il tipo di operazione (read
, write
, sync
, o async
) e tempo
è la durata del periodo in nanosecondi (ns). Il periodo è riportato in nanosecondi piuttosto che in unità maggiori, cosicché questo report è significativo anche per dispositivi a stato solido.
- blkio.io_merged
notifica il numero di richieste di BIOS sommate alle richieste di I/O di un cgroup. Le voci presentano due campi: numero
e operazione
. Numero
rappresenta il numero di richieste e operazione
rappresenta il tipo di operazione (read
, write
, sync
, o async
).
- blkio.io_queued
notifica il numero di richieste in coda per le operazioni di I/O di un cgroup. Le voci presentano due campi: numero
e operazione
. Numero
rappresenta il numero di richieste e operazione
rappresenta il tipo di operazione (read
, write
, sync
, o async
).
- blkio.avg_queue_size
notifica la dimensione media della coda per operazioni di I/O di un cgroup, durante l'esistenza di un gruppo. La dimensione della coda viene campionata ogni qualvolta una coda del cgroup riceve una porzione di tempo. Questo riporto è disponibile solo se CONFIG_DEBUG_BLK_CGROUP=y
è stato impostato nel sistema.
- blkio.group_wait_time
notifica il tempo totale (in nanosecondi — ns) trascorso da un cgroup in attesa di una porzione di tempo per una delle sue code. Il riporto viene aggiornato ogni qualvolta una coda del cgroup riceve una porzione di tempo, per questo motivo se si esegue una lettura dello pseudofile durante l'attesa del cgroup per una porzione di tempo, il riporto non conterrà il tempo trascorso in attesa per l'operazione messa in coda. Da notare che questo riporto è disponibile solo se CONFIG_DEBUG_BLK_CGROUP=y
è stato impostato nel sistema.
- blkio.empty_time
notifica il tempo totale (in nanosecondi— ns) trascorso da un cgroup senza alcuna richiesta in attesa. Il riporto viene aggiornato ogni qualvolta una coda per questo cgroup presenta una richiesta in attesa, per questo motivo se si esegue una lettura del pseudofile senza richieste in attesa, il riporto non conterrà il tempo trascorso nello stato corrente. Da notare che questo riporto è disponibile solo se CONFIG_DEBUG_BLK_CGROUP=y
è stato impostato nel sistema.
- blkio.idle_time
notifica il tempo totale (in nanosecondi — ns) trascorso dallo scheduler con uno stato inattivo per un cgroup in attesa di una richiesta migliore rispetto alle richieste già presenti in altre code o da altri gruppi. Il riporto viene aggiornato ogni qualvolta il gruppo non presenta uno stato inattivo, per questo motivo se si esegue una lettura del pseudofile in presenza di uno stato inattivo il riporto non conterrà il tempo trascorso nello stato inattivo corrente. Questo riporto è disponibile solo se CONFIG_DEBUG_BLK_CGROUP=y
è stato impostato nel sistema.
- blkio.dequeue
notifica il numero di volte che le richieste di operazioni I/O eseguite da cgroup sono state rimosse dalla coda da parte di dispositivi specifici. Le voci presentano tre campi: maggiore
, minore
, e numero
. Maggiore
e minore
corrispondono ai tipi di dispositivo ed ai numeri di nodo specificati in Linux Allocated Devices, e numero
è il numero di richieste rimosse dalla coda. Questa notifica è disponibile solo se CONFIG_DEBUG_BLK_CGROUP=y
è stato impostato nel sistema.