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.
