[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Taille processus limitee ?



Stephane Pruniere wrote:
On Thu, May 03, 2001 at 06:00:46PM +0200, Nicolas Kowalski wrote:
Bonjour.

Je ne pense pas que ce soit spécifique à la Debian, mais bon. Nous
avons deux grosses machines sous Debian GNU/Linux 2.2r3. L'une fait
tourner un Linux 2.2.16 et l'autre un 2.2.19 fraîchement compilé..
La première a 2 Go de RAM, la seconde 1.2 Go.

Sur les deux, les chercheurs de mon labo ont remarqué que généralement
les processus n'arrivent pas dépasser ~500M en taille. Ils peuvent en
lancer plusieurs en parallèle, et la somme dépasse alors 500M, mais un
seul n'y arrive jamais.

J'ai fait aussi de mon côté un gros test bourrin, bien crade :

main() {
while(1)
malloc(10);
}

Le process refuse de dépasser cette fameuse limite de 500M.

J'ai bien évidemment activé le support de la mémoire physique > 1Go
dans le noyau.

Je bloque. C'est dommage que l'on ne puisse pas exploiter à fond ces
deux machines :-|.

Des idées ?
Merci d'avance.

Nicolas.

Tu peux essayer un truc de ce genre (sous bash et sous root):

more /proc/sys/vm/freepage

mem=`awk '/MemTotal:/ { print $2 }' < /proc/meminfo`

echo `expr $mem / 200; expr $mem / 150; expr $mem / 100` > /proc/sys/vm/freepages

more /proc/sys/vm/freepagess


Et si il y a du mieux, tu pourras mettre cela dans ton /etc/rc.local
# gestion mémoire - pages de 4k, mem en k
mem=`awk '/MemTotal:/ { print $2 }' < /proc/meminfo`
[ "$mem" -gt 64000 ] && {
echo >&2 "Memory tuning..."
case $kernel in
2.0.??) echo `expr $mem / 50; expr $mem / 33; expr $mem / 25` \
> /proc/sys/vm/freepages;;
2.2.*) echo `expr $mem / 200; expr $mem / 150; expr $mem / 100` \
> /proc/sys/vm/freepages;;
esac
}


Cordialement

Stéphane

PS: Merci à B.S. pour cette info
Bonjour,

Le noyau est limité a 512 processus max a la fois donc si tu alloue 1M par process tu devrais t'arreter a 512M
Il faut recompiler le noyau en ayant changé ces variables dans les librairies.
NR_FILE (dans le fichier fs.h) passe de 4096 à 16384
NR_TASKS (dans le fichier tasks.h) passe de 512 à 2048

ou installer un noyau plus recent qui ne possede pas ces limite par defaut. 

Bonne chance

Georges Roux
#######################
Administrateur Internet
Equipe ISP net-up.com
tel: +33 4 96 15 57 36
#######################
while(strstr(microsoft,'$$$')) {
system('mv autoexec.bat > /dev/null'); free(GNU); }



Reply to: