Imposta i parametri di sottosistema eseguendo il comando cgset
da un account utente con permessi di modificare il cgroup rilevante. Per esempio, se /cgroup/cpuset/group1
è già presente, il seguente comando specifica la CPU alle quali questo gruppo ha accesso:
cpuset]# cgset -r cpuset.cpus=0-1 group1
La sintassi del comando cgset
è:
cgset -r
parametro
=valore
percorso_a_cgroup
dove:
parametro
rappresenta il parametro da impostare e corrisponde al file nella directory del cgroup dato
valore
è il valore per il parametro
percorso_al_cgroup
è il percorso al cgroup relativo alla radice della gerarchia. Per esempio, per impostare il parametro del gruppo root (se /cgroup/cpuacct/
esiste già), eseguire:
cpuacct]# cgset -r cpuacct.usage=0 /
Alternativamente, poichè .
è relativo al gruppo root (cioè il gruppo root stesso), si potrebbe anche eseguire:
cpuacct]# cgset -r cpuacct.usage=0 .
Da notare, tuttavia, che /
è la sintassi preferita.
È possibile impostare solo un numero limitato di parametri per il gruppo root (come il parametro cpuacct.usage
mostrato negli esempi sopra riportati). Ciò, poichè un gruppo root possiede tutte le risorse esistenti e quindi non avrà alcun senso limitare tutti i processi esistenti tramite la definizione di determinati parametri, per esempio il parametro cpuset.cpu
.
Per impostare il parametro di group1
, il quale rappresenta un sottogruppo di root, eseguire:
cpuacct]# cgset -r cpuacct.usage=0 group1
Il segno slash alla fine del nome del gruppo (per esempio cpuacct.usage=0 group1/
), è facoltativo.
I valori che si possono impostare con cgset
dipendono dai valori più elevati impostati in una gerarchia particolare. Per esempio, se group1
può utilizzare solo CPU 0 su un sistema, non sarà possibile impostare group1/subgroup1
per l'uso di CPUs 0 e 1, o solo CPU 1.
È possibile utilizzare anche cgset
per copiare il parametro di un cgroup su un altro cgroup esistente. Per esempio:
~]# cgset --copy-from group1/ group2/
La sintassi per copiare parametri con cgset
è:
cgset --copy-from
percorso_al_cgroup_sorgente
percorso_al_cgroup_destinatario
dove:
percorso_al_group_sorgente
è il percorso al cgroup i cui parametri devono essere copiati, relativo al gruppo root della gerarchia.
percorso_al_cgroup_destinatario
è il percorso al cgroup di destinazione relativo al gruppo root della gerarchia
Assicurarsi che qualsiasi parametro obbligatorio per i diversi sottosistemi sia stato impostato, prima di copiare i parametri da un gruppo ad un altro, in caso contrario il comando fallirà. Per maggiori informazioni sui parametri obbligatori consultare
Parametri necessari.
Metodo alternativo
Per impostare i parametri in un cgroup, inserire i valori nel pseudofile del sottosistema usando il comando echo
. Per esempio, questo comando inserisce il valore 0-1
nel pseudofile cpuset.cpus
del cgroup group1
:
~]# echo 0-1 > /cgroup/cpuset/group1/cpuset.cpus
Con questo valore i task presenti in questo cgroup sono limitati a CPU 0 e 1 sul sistema.