J'ai un eeePC 900a: il a un disque flash de 8 Go et seulement 1 Go de RAM. La distribution Linux installée est ArchLinux.
Lorsque le système est à court de mémoire , il devient extrêmement insensible: il faut plusieurs secondes / minutes pour faire des choses comme le passage à TTY1 ou même de déplacer le pointeur de la souris. Parfois, on a l'impression que le système se fige: il y a trois ans, je le laissais faire et rien n'a changé jusqu'à présent.
Je préférerais éviter de créer une partition / un fichier d'échange sur cet eeePC car le disque est déjà aussi petit et que de nombreuses écritures sur l'espace d'échange réduiraient considérablement la durée de vie de la carte Flash. De plus, je pense qu'un fichier / une partition d'échange ne ferait que déplacer le problème, au lieu de le résoudre définitivement.
Le noyau n'est-il pas censé tuer des applications aléatoires lorsqu'il manque de mémoire? Pourquoi cela échoue-t-il (ou prend-il des siècles)?
Il ya quelques mois / années, j’ai déjà essayé d’approfondir cette question, mais je n’ai rien trouvé qui puisse réellement fonctionner ...
while(true){ if( $FREE_MEMORY<10MB ){ kill -9 $RANDOM_PID; } }
. Cela réglerait définitivement mon problème. Mais attendez, le noyau n’est-il pas supposé le faire (et de manière bien meilleure que mon script)? Pourquoi ne fait-il pas son travail?