OVH Cloud OVH Cloud

consommation excessive de RAM pour gcc (??)

7 réponses
Avatar
octane
Bonjour,

je viens d'upgrader en slackware 10.2 et gcc me surprend beaucoup.
pour compiler le module ralink (un petit bout de code), je depasse les
200Mo
de RAM utilisees!

free
total used free shared buffers
cached
Mem: 191812 189112 2700 0 488
22384
-/+ buffers/cache: 166240 25572
Swap: 188992 92320 96672

pendant la compilation

free
total used free shared buffers
cached
Mem: 191812 57600 134212 0 736
23508
-/+ buffers/cache: 33356 158456
Swap: 188992 35808 153184

et juste apres la fin de la compilation.
Ca me surprend pas mal.

gcc -v
Lecture des sp=E9cification =E0 partir de
/usr/lib/gcc-lib/i486-slackware-linux/3.3.6/specs
Configur=E9 avec: ../gcc-3.3.6/configure --prefix=3D/usr --enable-shared
--enable-threads=3Dposix --enable-__cxa_atexit --disable-checking
--with-gnu-ld --verbose --target=3Di486-slackware-linux
--host=3Di486-slackware-linux
Mod=E8le de thread: posix
version gcc 3.3.6

et kernel 2.6.16

Il y a une option a valider quelque part, ou c'est normal?

Merci

7 réponses

Avatar
Calimero
wrote:
Bonjour,

je viens d'upgrader en slackware 10.2 et gcc me surprend beaucoup.
pour compiler le module ralink (un petit bout de code), je depasse les
200Mo
de RAM utilisees!


Que dit un top, au lieu d'un free ?

Parce qu'avec les différents systèmes de cache, je sais pas si free
est le meilleur outil pour profiler une application, hein.

--
@+
Calimero

Avatar
R12y
On Mon, 24 Apr 2006 14:30:33 -0700, octane wrote:

Bonjour,


Bonjour

Il y a une option a valider quelque part, ou c'est normal?


Rien dans tes tests ne dis d'une manière stricte que c'est GCC qui utilise
la RAM.
Et je pense que tu devrais t'inquiéter de cette consommation de RAM
uniquement si tu constate qu'une autre application qui a besoin de RAM
n'en obtient pas.
Moi, personnellement, je serais content que le système utilise la RAM que
je lui ai acheté ;-)

--
Debian/apt Repo: http://locataire-serveur.info/sections/liens/debian-repository
Fedora/yum Repo: http://locataire-serveur.info/sections/liens/fedora-core-yum

Avatar
octane
Il y a une option a valider quelque part, ou c'est normal?


Rien dans tes tests ne dis d'une manière stricte que c'est GCC qui utili se
la RAM.


Mon utilisation classique ne me fait jamais toucher au swap.
La, je demarre la compilation. Le swap se met à grimper de
maniere rapide. La compile termine, et je me retrouve avec:
130Mo de RAM libre d'un coup !?!

Quand j'ai compile le noyau 2.6.16, c'est a peine si j'ai touche au
swap.

Et je pense que tu devrais t'inquiéter de cette consommation de RAM
uniquement si tu constate qu'une autre application qui a besoin de RAM
n'en obtient pas.


la charge systeme depasse 2 a cause du swap permanent.

Je suis content que mon systeme utilise de la RAM. Mais qu'un
compilo me bouffe toute ma RAM plus une bonne partie du swap, la non,
ca me parait beaucoup.


Avatar
R12y
On Tue, 25 Apr 2006 06:40:07 -0700, octane wrote:

Je suis content que mon systeme utilise de la RAM. Mais qu'un
compilo me bouffe toute ma RAM plus une bonne partie du swap, la non,
ca me parait beaucoup.


Donne voir le code source que tu essaie de compiler s'il te plait?
Tu peux aussi faire une synthèse de ce qui a été dit et poser la question
sur le groupe fr.comp.lang.c (si c'est bien du C que tu tentes de compiler)
Attention, les gens de fr.comp.lang.c sont assez strict sur le respect de
la charte: ta question ne doit porter que sur le C. ;-)

--
Debian/apt Repo: http://locataire-serveur.info/sections/liens/debian-repository
Fedora/yum Repo: http://locataire-serveur.info/sections/liens/fedora-core-yum

Avatar
Emmanuel Fleury
wrote:
Il y a une option a valider quelque part, ou c'est normal?
Rien dans tes tests ne dis d'une manière stricte que c'est GCC qui utilise

la RAM.


Mon utilisation classique ne me fait jamais toucher au swap.
La, je demarre la compilation. Le swap se met à grimper de
maniere rapide. La compile termine, et je me retrouve avec:
130Mo de RAM libre d'un coup !?!

Quand j'ai compile le noyau 2.6.16, c'est a peine si j'ai touche au
swap.


Qu'est-ce que tu compiles exactement et avec quelle version de GCC ?

Je me souviens être tombé sur un bug de GCC 4.0 (résolu dans le 4.0.1 et
4.1.x) qui était similaire (la compilation bouffait énormément d'espace
mémoire et plantait à la fin. Tout cela pour compiler un petit fichier
de quelques centaines de lignes).

Si tu veux je peux essayer de retrouver des pointeurs vers le bug-report
que j'avais fait, sinon je pense que tu devrais simplement essayer avec
une autre version plus à jour de GCC (c'est plus simple :)).

Amicalement
--
Emmanuel Fleury



Avatar
Emmanuel Fleury
Emmanuel Fleury wrote:

Qu'est-ce que tu compiles exactement et avec quelle version de GCC ?


Argh, cela m'apprendra à prendre un thread en plein milieu. Tu avais
donné ces infos au début. :)

Oui, essaye la version 3.4 de GCC et si cela ne passe toujours pas, la
version 4.0.1 (ou 4.1 si tu aimes l'expérimental).

Amicalement
--
Emmanuel Fleury

Avatar
octane
Je suis content que mon systeme utilise de la RAM. Mais qu'un
compilo me bouffe toute ma RAM plus une bonne partie du swap, la non,
ca me parait beaucoup.

Donne voir le code source que tu essaie de compiler s'il te plait?



La libgpod v0.3.2 (de memoire) et le CVS de la ralink:
cvs -d:pserver::/cvsroot/rt2400 login
cvs -z3 -d:pserver::/cvsroot/rt2400 co
source
le repertoire
rt2x00