Product SiteDocumentation Site

2.10. Generare il file /etc/gconfig.conf

La configurazione del file /etc/cgconfig.conf può essere generata dalla corrente configurazione di cgroup, usando lo strumento cgsnapshot. Questo strumento prende uno snapshot dello stato corrente di tutti i sottosistemi e dei rispettivi cgroup, restituendo la loro configurazione così come appare nel file /etc/cgconfig.conf. L'Esempio 2.6, «Usare lo strumento cgsnapshot» mostra un utilizzo dello strumento cgsnapshot.
Esempio 2.6. Usare lo strumento cgsnapshot
Si supponga di aver configurato i cgroups nel sistema, usando i seguenti comandi:
~]# mkdir /cgroup/cpu
~]# mount -t cgroup -o cpu cpu /cgroup/cpu
~]# mkdir /cgroup/cpu/lab1
~]# mkdir /cgroup/cpu/lab2
~]# echo 2 > /cgroup/cpu/lab1/cpu.shares
~]# echo 3 > /cgroup/cpu/lab2/cpu.shares
~]# echo 5000000 > /cgroup/cpu/lab1/cpu.rt_period_us
~]# echo 4000000 > /cgroup/cpu/lab1/cpu.rt_runtime_us
~]# mkdir /cgroup/cpuacct
~]# mount -t cgroup -o cpuacct cpuacct /cgroup/cpuacct
I precedenti comandi montano due sottosistemi e creano due cgroup per il sottosistema cpu, con valori specifici per alcuni dei loro paramteri. Eseguendo il comando cgsnapshot (con l'opzione -s ed un file /etc/cgsnapshot_blacklist.conf[4]vuoto), si produce il seguente output:
~]$ cgsnapshot -s
# Configuration file generated by cgsnapshot
mount {
        cpu = /cgroup/cpu;
        cpuacct = /cgroup/cpuacct;
}

group lab2 {
        cpu {
                cpu.rt_period_us="1000000";
                cpu.rt_runtime_us="0";
                cpu.shares="3";
        }
}

group lab1 {
        cpu {
                cpu.rt_period_us="5000000";
                cpu.rt_runtime_us="4000000";
                cpu.shares="2";
        }
}
L'opzione -s usata nel precedente esempio indica a cgsnapshot di ignorare tutti gli avvisi nel file di output generati dai parametri non definiti nella blacklist o whitelist dello strumento cgsnapshot. Per maggiori informazioni sui parametri di blacklist, fare riferimento alla Sezione 2.10.1, «Parametri di blacklist». Per maggiori informazioni sui parametri di whitelist, fare riferimento alla Sezione 2.10.2, «Parametri di whitelist».

Quando non è specificata nessuna opzione, l'output generato da cgsnapshot è restituito sullo standard output. Usare l'opzione -f per specificare un file su cui redirigere l'output. Per esempio:
~]$ cgsnapshot -f ~/test/cgconfig_test.conf

L'opzione -f sovrascrive il file specificato.

Quando si usa l'opzione -f, notare che esso sovrascrive ogni contenuto nel file specificato. Quindi, è consigliato di non dirigere l'output direttamente sul file /etc/cgconfig.conf.
Lo strumento cgsnapshot può creare anche file di configurazione per sottosistema. Specificando il nome di un sottosistema, l'output corrisponderà alla configurazione per quel sottosistema:
~]$ cgsnapshot cpuacct
# Configuration file generated by cgsnapshot
mount {
        cpuacct = /cgroup/cpuacct;
}

2.10.1. Parametri di blacklist

Lo strumento cgsnapshot permette di creare una blacklist di parametri. Se un parametro è nella blacklist, esso non appare nell'output generato da cgsnapshot. Per impostazione predefinita, il file /etc/cgsnapshot_blacklist.conf è controllato per i parametri in blacklist. Se un parametro non è presente nella blacklist, è controllata la whitelist. Per specificare una blacklist differente, usare l'opzione -b. Per esempio:
~]$ cgsnapshot -b ~/test/my_blacklist.conf


[4] Il parametro cpu.shares è specificato nel file /etc/cgsnapshot_blacklist.conf, per impostazione predefinita, che potrebbe causare di essere omesso nell'output generato nell'Esempio 2.6, «Usare lo strumento cgsnapshot». Perciò, per lo scopo di questo esempio, è usato un file /etc/cgsnapshot_blacklist.conf vuoto.