Pages : 1
#1 Le 05/10/2010, à 17:29
- informaticous
limiter le cpu sur un user
Bonjour,
J'ai créer un user spécialement pour la compilation, le souci c'est que parfois j'ai mon cpu qui s’emballe très vite.
J'ai un p4 3ghz.
J'aimerai bloquer l'utilisation a 80% sur ce user. J'ai vue qu'il y a cpulimite mais il ne limite pas les processus enfant.
Donc si quelle qu’un a une solution Un grand merci d'avance.
Bonne journée.
j'y suis, j'y reste
Hors ligne
#2 Le 05/10/2010, à 17:49
- Totor
Re : limiter le cpu sur un user
Bonjour,
tu trouveras peut-être ton bonheur en tapant ceci :
man bash|less +'/ulimit'
-- Lucid Lynx --
Hors ligne
#3 Le 05/10/2010, à 18:23
- sputnick
Re : limiter le cpu sur un user
voir aussi nice et tester ce script :
#!/bin/bash
_pid=$(pidof $1)
while kill -0 $_pid; do
_loadAvr="$(cut -d" " -f1 /proc/loadavg)"
_psState="$(ps u $_pid | awk 'NR==2{print $8}')"
[[ ${_loadAvr%.*} > 1 && $_psState != *T* ]] && kill -STOP $_pid
[[ ${_loadAvr%.*} < 1 && $_psState == *T* ]] && kill -CONT $_pid
sleep 1
done
Il arrete le programme donné en argument (pause) lorsque le loadaverage est superieur à 1
A tester et adapter...
Dernière modification par sputnick (Le 05/10/2010, à 18:33)
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
En ligne
#4 Le 05/10/2010, à 19:49
- Totor
Re : limiter le cpu sur un user
nice ou renice ??? je dirais plutôt renice.
Cela dit, il a l'inconvénient de devoir être utilisé par un uid 0
sinon dans le même acabit schedtool qui est un peu une boite à outil... (qui a le même inconvénient pour la priorité des processus)
Dernière modification par Totor (Le 06/10/2010, à 08:43)
-- Lucid Lynx --
Hors ligne