web-dev-qa-db-fra.com

Ubuntu se bloque quand le swap est complet

J'ai un système Ubuntu sous xfce et 2 Go de RAM. J'ai un fichier d'échange de 1 Go qui, lorsque le multitâche commence à se remplir. Même avec une petite quantité d'échange gratuit, je n'ai aucun problème, mais dès que l'échange se remplit, le système se bloque. Même la souris ne bougera pas, bien que je puisse utiliser [Alt] + [SysRq] + [K] pour tuer xfce, ce qui nécessite tout de même un redémarrage pour être à nouveau opérationnel. Je fournirai plus de détails sur le système si nécessaire. Merci d'avance.

3
hexafraction

Oui, c’est ce qui se passe lorsque vous manquez de mémoire/d’échange. D'un autre côté, je m'attendrais à ce qu'Ubuntu commence à tuer des processus aléatoires, essayant désespérément de ne pas planter. C'est une configuration quelque part dans le système, mais une fois qu'il est à court de mémoire, il est dangereux pour votre système de fichiers de continuer à fonctionner. Donc, la chose la plus saine est d'arrêter le système, en essayant de ne pas corrompre plus de données.

Vous devez comprendre pourquoi vous manquez de mémoire et quelle application en est la cause. top ou htop peut vous aider. htop doit probablement être installé avec Sudo apt-get install htop. L'avantage de htop est que vous pouvez facilement pointer et cliquer sur l'en-tête de colonne que vous souhaitez trier.

Si vous ne pouvez pas définir le programme, votre meilleur pari est d’ajouter de la RAM, mais cela coûte de l’argent. Votre deuxième meilleur choix est d'augmenter l'espace de swap, mais cela coûte de la performance.

En tant que solution temporaire (jusqu'au prochain redémarrage), vous pouvez tester si cela fonctionne:

  • Trouvez un système de fichiers avec beaucoup d'espace libre. Sur la plupart des installations par défaut, /tmp fera df -h /tmp. Au moins plusieurs Go devraient être gratuits.
  • Créez un fichier volumineux (par exemple, 1M × 2000 = 2 Go) dd if=/dev/zero of=/tmp/extra.swap bs=1M count=2000
  • Initialise le fichier en tant qu'espace de permutation mkswap /tmp/extra.swap
  • Commencez à utiliser le fichier comme espace d'échange Sudo swapon /tmp/extra.swap

Si cela fonctionne pour vous, vous devrez chercher à en tirer une solution plus définitive.

6
jippie