Inconvénients de ne pas avoir de partition de swap

8

J'ai récemment installé Ubuntu 10.04 sur mon ordinateur portable. En raison de la contrainte d'espace du SSD, je n'ai pas défini de partition de swap pour le système d'exploitation et j'ai 1,5 Go de RAM.

Il y a un avertissement lors de l'installation, mais je pense que ce n'est pas grave car tout s'est bien passé.

À long terme, y aurait-il des inconvénients à ne pas avoir de partition de swap?

segfault
la source
2
Gparted se fera un plaisir de graver quelques gig de votre lecteur racine, et de le faire avec facilité et aplomb.
msw

Réponses:

6

Je pense que si je dois vous écrire une réponse à la question, je dois d'abord expliquer tout le truc du fichier d'échange ici. Pardonnez-moi pour ma longue haleine.

Un swapfile / swap-partition, similaire au fichier d'échange dans Windows, est un espace disque dur dédié à faciliter une meilleure utilisation de la mémoire. Il y a deux utilisations de l'espace d'échange.

  1. Lorsqu'il n'y a pas suffisamment de mémoire pour toutes les applications - dans le cas où cela se produit sur un système sans espace de swap, cela entraînera l'échec de l'allocation de mémoire pour la nouvelle application demandant de nouvelles pages de mémoire - et cela entraîne généralement l'arrêt du programme.

  2. Lorsque certaines pages de la mémoire (la mémoire est divisée en `` pages '') étaient utilisées il y a quelque temps, mais ne sont plus utilisées maintenant, elles seraient transférées sur le fichier d'échange et la mémoire restante peut être utilisée pour faire autre chose qui pourrait être plus utile ( par exemple, même la mise en cache!) - lorsque cela se produit dans un système sans espace de swap, cela entraînera le maintien en mémoire des pages inactives. Ce n'est cependant pas trop grave, car nous avons assez de mémoire ces jours-ci.

Et puis, maintenant nous avons la liste des utilisations de la partition swapfile / swap, combien est généralement conseillé? - cela dépend de la fonction de la machine. S'il s'agit d'un ordinateur de bureau, réglez-le sur 1 à 1,5 fois la mémoire. S'il s'agit d'une machine serveur, faites de même, mais notez l'utilisation du swap, si elle est très utilisée, mettez à niveau la mémoire.

Comme d'autres l'ont souligné, gparted peut vous aider à créer plusieurs espaces dans votre partition ext2 / ext3, mais vous pouvez également utiliser un fichier d'échange:

dd if=/dev/zero of=/swapfile bs=1024 count=1048576
mkswap /swapfile
swapon /swapfile

Tu aurais dû

swapfile none swap sw 0 0

sur fstabpour assurer qu'il soit utilisé à chaque redémarrage

Et encore une chose: si cela ne vous dérange pas d'avoir swapspace mais que vous souhaitez minimiser l'utilisation à moins que votre mémoire ne soit vraiment surchargée, vous pouvez changer le "swappiness" du noyau en changeant /proc/sys/vm/swappiness(valeurs, 0-100; par défaut, 60).

bubu
la source
Il peut y avoir des utilisations pour l'échange autres que celles que vous avez indiquées, comme une partition d'échange utilisée pour stocker automatiquement un fichier de vidage sur incident. En outre, la taille de la mémoire 1-1,5x n'est pas une valeur universellement acceptée. En théorie, un ordinateur avec plus de mémoire aurait besoin de moins de mémoire pour le swap, car il avait X RAM utilisée et avait besoin de Y plus de RAM, il pourrait être capable d'ajuster cette mémoire supplémentaire dans la RAM disponible au lieu du swap.
TOOGAM
@TOOGAM c'était en 2010, quand les gens utilisent des trucs comme 2 à 4 Go de RAM dans leur bureau.
bubu
7

Pas de suspension sur le disque.

Henk Poley
la source
3

Si vous manquez de mémoire, un comportement imprévisible peut arriver à vos programmes. Parfois, le noyau commence à perdre de la mémoire à des endroits aléatoires . Le noyau commencera à abandonner les processus de faible priorité.

Aucune mémoire virtuelle ne peut causer de gros problèmes, surtout si elle commence à perdre de la mémoire en détruisant des documents importants qui ont une faible priorité et sur lesquels on travaille.

Nitrodist
la source
3
Cela se produirait, que vous ayez ou non échangé.
Ignacio Vazquez-Abrams
2
En fait, le noyau ne "commencera pas à laisser tomber la mémoire à des endroits aléatoires". Il fera plutôt ce qui doit être fait et commencera à tuer les processus jugés "moins importants" jusqu'à ce que la situation s'améliore. Ceci est fait par le "tueur OOM". Voir par exemple linux-mm.org/OOM_Killer
sleske
Je me suis trompé.
Nitrodist
0

Après l'installation, vérifiez votre utilisation de la mémoire lorsque vous exécutez des opérations gourmandes en mémoire ou ouvrez simplement de «grandes» applications, comme Openoffice.org, décompressez des fichiers, etc. Si vous voyez que la mémoire totale utilisée est de près de 1,5 Go, alors c'est probablement une bonne idée d'avoir une partition de swap ou un fichier de swap, juste au cas où vous exécuteriez commodément quelque chose qui utilise beaucoup de mémoire et Ubuntu commence à perdre de la mémoire importante, et peut-être même des parties du noyau (pas bon, vraiment pas bon ...).

Bonjour71
la source
Je suis curieux, est-il même possible de faire supprimer Linux des parties de son noyau afin de libérer de la mémoire pour les processus en cours d'exécution?
Igor Zinov'yev
Probablement pas, mais vous savez ce que je veux dire ...
Hello71
AFAIK, le noyau Linux lui-même reste toujours en mémoire. Il est chargé comme première partie de la séquence de démarrage et reste; la mémoire n'est jamais libérée ni même échangée. Vous pouvez cependant charger et décharger des modules, et cette mémoire sera libérée (je crois), mais ce n'est généralement que quelques dizaines de kb par module. Le noyau maintient également diverses structures de données internes et tampons, il peut être en mesure d'en libérer certaines (pas sûr cependant).
sleske
0

Pas une réponse complète, mais voici l'histoire d'une chose qui m'a vraiment attaqué, même quand je pensais que j'avais tous les inconvénients possibles sous contrôle:

/programming/4567972/error-executing-aapt-all-of-the-sudden En résumé, certains outils exécutés à partir de très gros processus / applications Java ne pourront pas toujours s'exécuter. Cependant, la plupart des utilisateurs réguliers ne rencontreront pas cela.

pjv
la source