On Wed, 26 Jun 2002, Jean-Claude Schopfer wrote:
> > Je me suis retrouv� plusieurs fois dans le cas o� la swap est utilis�e
> > et que malgr� tout, la m�moire n'est pas non plus lib�r�e.

Combien as-tu de MEM et de Swap ? 

La swap sera utilis�e pour aller d�poser des pages de data lorsqu'il n'y a 
plus assez de place en RAM. Il se peut que des programmes dormants aient 
toutes leurs pages sur la swap, mais que la m�moire ne soit (au moment ou 
vous la regarder) plus tr�s utilis�e, ou au contraire, pleine jusqu'� la 
gorge. On peut tr�s bien avoir une swap pleine et un syst�me avec de bonnes 
performances. Par contre, la situation est limite et peu basculer dans 
l'inutilisable tr�s rapidement.

Je le r�p�te, ne confondez pas buffer, cache et user+shared spaces. Les deux 
premiers sont dynamiques et d�pendendent du kernel, alors que les process des 
utilisateurs sont responsables du troisi�me. Or, lorsqu'un programme fait 
beaucoup de malloc(), il ne fait qu�tendre son 'data segment size'. Il ne 
peut pas r�duire cette valeur (see brk(0/sbrk()). Ce n'est pas parcequ'un 
programme a utilis� beaucoup de m�moire dynamique � un moment donn� qu'il est 
un "memory hog". Non, il se peut qu'il n'ait plus besoin d'acceder � ces 
portions de m�moire, mais elles lui sont toujours attach�es. Les pages non 
acc�d�es seront progressivement pouss�es vers la swap, et y resteront 
probablement (jusqu'a la fin du process). Remarquez que plusieurs programmes 
de ce genre peuvent remplir la swap et emp�cher l'ex�cution de nouveaux 
programmes, sans que la m�moire soit massivement acc�d�e...

Moralit� : Rachetez de la m�moire !!! (IBM patended) :-)

Daniel

--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se d�sabonner aussi.

Répondre à