In assenza dei dettagli richiesti ...
Ecco come utilizzo i cgroup su Ubuntu.
Durante questo post, dovrai cambiare la variabile "$ USER" per l'utente che esegue il processo
Ho aggiunto informazioni per la memoria e questa sarà una FAQ, se non ti serve non usarla.
1) Installa cgroup-bin
sudo apt-get install cgroup-bin
2) Riavvia. cgroups ora si trova in/sys/fs/cgroup
3) Crea un cgroup per il tuo utente (il proprietario del processo)
# Change $USER to the system user running your process.
sudo cgcreate -a $USER -g memory,cpu:$USER
4) Il tuo utente può gestire le risorse. Per impostazione predefinita, gli utenti ottengono 1024 unità di CPU (condivisioni), quindi per limitare a circa il 10% di CPU, la memoria è in byte ...
# About 10 % cpu
echo 100 > /cgroup/cpu/$USER/cpu.shares
# 10 Mb
echo 10000000 > /cgroup/memory/$USER/memory.limit_in_bytes
5) Inizia il processo (cambia exec in cgexec)
# -g specifies the control group to run the process in
# Limit cpu
cgexec -g cpu:$USER command <options> &
# Limit cpu and memory
cgexec -g memory,cpu:$USER command <options> &
Configurazione
Supponendo che i cgroups stiano lavorando per te;)
Modifica /etc/cgconfig.conf, aggiungi nel tuo cgroup personalizzato
# Graphical
gksudo gedit /etc/cgconfig.conf
# Command line
sudo -e /etc/cgconfig.conf
Aggiungi nel tuo cgroup. Cambia di nuovo $ USER con il nome utente proprietario del processo.
group $USER {
# Specify which users can admin (set limits) the group
perm {
admin {
uid = $USER;
}
# Specify which users can add tasks to this group
task {
uid = $USER;
}
}
# Set the cpu and memory limits for this group
cpu {
cpu.shares = 100;
}
memory {
memory.limit_in_bytes = 10000000;
}
}
Puoi anche specificare gruppi gid=$GROUP, /etc/cgconfig.conf è ben commentato.
Ora esegui di nuovo il tuo processo con cgexec -g cpu:$USER command <options>
Puoi vedere il tuo processo (tramite PID) in /sys/fs/cgroup/cpu/$USER/tasks
Esempio
bodhi @ ufbt: ~ $ cgexec -g cpu: bodhi sleep 100 &
[1] 1499
bodhi @ ufbt: ~ $ cat / sys / fs / cgroup / cpu / bodhi / task
1499
Per ulteriori informazioni consultare:
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/