5 votes

Échange inutile dans Linux

Il semble que parfois, mon ordinateur commence à échanger inutilement (l'utilisation de la mémoire est d'environ 25%), et je ne peux pas comprendre pourquoi.

Cela semble se produire le plus souvent lors de l'exécution de scripts Perl, mais ces scripts ne sont pas intensifs, et je ne trouve rien indiquant que Perl ne peut voir qu'une certaine quantité de mémoire. L'utilisation du swap persiste après la fin des scripts, et même après la fermeture de Firefox, Banshee, etc. Redémarrer X résout parfois le problème, mais d'autres fois, un redémarrage complet est nécessaire.

Cela devient un gros problème pour moi car dès que quoi que ce soit commence à échanger, tout le reste semble aussi le faire. Des choses basiques comme fermer un programme ou changer de vue prennent de plus en plus de temps. Si on ne fait rien, cette utilisation du swap finira par forcer mon ordinateur à thrasher indéfiniment, incapable de répondre même aux touches !

Je suis sous Ubuntu 9.04, noyau 2.6.28-15, j'ai 4 Go de RAM et j'utilise généralement environ 25% de celle-ci.

J'ai également essayé de réduire le "swappiness", sans succès.

3voto

Patrick Points 148

Ma suggestion est de définir votre swappiness à 0.

Définir votre swappiness à un "nombre plus bas" peut réduire la "fréquence" d'utilisation du swap, mais le définir à 0 forcera le noyau à emprunter un chemin de code différent, obligeant toute allocation de mémoire à utiliser d'abord toute la mémoire disponible et le cache avant d'utiliser l'espace de swap.

Vous pouvez définir le swappiness à zéro en exécutant la commande suivante :

echo 0 > /proc/sys/vm/swappiness

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X