problème consommation mémoire

Le
gregoire.avot
Bonjour le groupe.

J'ai une machine Linux sous :

Linux rio 2.4.21-4.ELhugemem #1 SMP Fri Oct 3 17:31:20 EDT 2003 i686
athlon i386 GNU/Linux

Cette machine possde 2Go de RAM, et 4 Go de swap :

~> free
total used free shared buffers
cached
Mem: 2061648 2044604 17044 0 1636
18068
-/+ buffers/cache: 2024900 36748
Swap: 4192924 1003608 3189316

J'excute une application, un binaire appell ici mysoft, de 160Mo.
Cette application va lire un fichier de 2Go (en local sur cette
machine), et crer un mmoire une structure de donnes de 1,7Go.
C'est la seule application active sur cette machine.
Je m'attend ce que ce programme s'excute sans swapper
significativement, puisqu'il y a prs de 300Mo de marge.

Au dbut, tout se passe bien, la taille du programme augmente,
l'application utilise 100% du processeur :

13:17:55 up 20 days, 17 min, 14 users, load average: 1.00, 1.03,
0.78
114 processes: 109 sleeping, 3 running, 1 zombie, 1 stopped

CPU states: cpu user nice system irq softirq iowait
idle
total 99.0% 0.0% 0.7% 0.1% 0.0% 0.0%
0.0%
Mem: 2061648k av, 1191704k used, 869944k free, 0k shrd,
2940k buff
713816k actv, 6480k in_d, 52k in_c
Swap: 4192924k av, 93336k used, 4099588k free
321596k cached

PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME CPU
COMMAND
5923 gregoire 25 0 381M 381M 2024 R 99.0 18.9 1:04 0
mysoft
16324 gregoire 15 0 33376 8012 2720 S 0.3 0.3 21:47 0
anothersoft
5924 gregoire 15 0 1276 1276 896 R 0.3 0.0 0:00 0 top
1 root 15 0 264 228 208 S 0.0 0.0 0:33 0 init

Aprs 5 minutes, le programme atteind 1.3Go, et sa taille en mmoire
se bloque autours de 1.2Go. La machine commence swapper, et mon
application utilise de moins en moins de CPU.

13:21:31 up 20 days, 20 min, 14 users, load average: 1.14, 1.06,
0.84
114 processes: 109 sleeping, 3 running, 1 zombie, 1 stopped
CPU states: cpu user nice system irq softirq iowait
idle
total 71.5% 0.0% 9.5% 1.3% 15.9% 1.5%
0.0%
Mem: 2061648k av, 2044532k used, 17116k free, 0k shrd,
2296k buff
1263136k actv, 156088k in_d, 31264k in_c
Swap: 4192924k av, 261852k used, 3931072k free
334192k cached

PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME CPU
COMMAND
5923 gregoire 25 0 1336M 1.2G 656 R 75.0 58.5 4:25 0
mysoft
6 root 15 0 0 0 0 SW 1.5 0.0 4:44 0
kswapd
16324 gregoire 15 0 33376 7268 2708 S 1.5 0.3 21:48 0
anothersoft
1270 root 15 0 39532 812 432 S 0.7 0.0 23:07 0 X

Et aprs 5 autres minutes, mon application n'avance pratiquement plus
: 5 minutes relles = 1 minute cpu.

13:26:44 up 20 days, 26 min, 14 users, load average: 1.35, 1.21,
0.96
114 processes: 109 sleeping, 3 running, 1 zombie, 1 stopped
CPU states: cpu user nice system irq softirq iowait
idle
total 3.9% 0.0% 3.7% 1.3% 0.0% 90.8%
0.0%
Mem: 2061648k av, 2044544k used, 17104k free, 0k shrd,
980k buff
1293364k actv, 159152k in_d, 31256k in_c
Swap: 4192924k av, 766480k used, 3426444k free
61600k cached

PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME CPU
COMMAND
5923 gregoire 15 0 1673M 1.4G 400 R 2.5 69.1 5:36 0
mysoft
16324 gregoire 15 0 33356 7508 2688 S 1.9 0.3 21:51 0
anothersoft
1284 gdm 15 0 13368 2568 1664 S 1.3 0.1 39:37 0
gdmgreeter
6 root 15 0 0 0 0 SW 1.1 0.0 4:49 0
kswapd

Et mon application qui doit passer en 6 minutes CPU passe en plus de 30
minutes C'est frustrant ! Avec une machine sous Solaris avec 10Go de
ram (l'application est 32bits), elle passe en 10 minutes 100% de CPU
(cette machine est un peu plus lente en CPU brut).

Est-ce que quelqu'un pourrait me mettre sur un piste ?

Merce d'avance pour votre aide.

Grgoire.
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
dark
Le #1795297
salut greg

Est-ce que quelqu'un pourrait me mettre sur un piste ?
je ne vois que /etc/security/limits.conf qui pourrais t'aider (peut etre )


voir man limits.conf, mais c'est assez succint,


Merce d'avance pour votre aide.

Grégoire.


Poster une réponse
Anonyme