Je dirais qu'une bonne règle de base est en effet tout comme cela a été mentionné ci-dessus. 2 fois la mémoire physique. Quelque chose à considérer ici, bien qu'il soit possible d'utiliser une partition d'échange plus petite, et cela suffira dans la plupart des circonstances normales, si vous voulez que ce système soit stable comme un roc, je suivrais en effet la recommandation de 8 Go. En fait, je recommande 2 * RAM + 1 Mo afin qu'il y ait absolument de la place pour échanger 2 copies entières de mémoire. Cela évite le scénario "shell game" qui peut avoir des répercussions négatives sur les performances. Cela vous garantira un niveau de résilience si vous rencontrez un événement extraordinaire avec votre système.
J'ai vu des scénarios où les applications se comportent mal dans des environnements sans surveillance et avant que vous ne vous en rendiez compte, votre système commence à ralentir jusqu'à l'exploration.
Selon ce que vous faites, vous pourrez même vous passer complètement du fichier d'échange. L'espace supplémentaire pour le système d'exploitation est pratique lors de l'exécution simultanée de plusieurs applications. Cependant, si vous n'avez l'intention d'exécuter que quelques processus, n'ayez pas l'intention d'interagir avec l'interface graphique en désactivant le fichier d'échange.
Mais si vous allez avoir un fichier d'échange, j'utilise toujours la formule de dimensionnement ci-dessous.
[(2 x RAM) + 1 MB] = Swap File Size
Je vous recommande également de placer votre fichier d'échange sur un disque séparé dans la mesure du possible, car cela augmentera les performances car le système d'exploitation peut échanger des entrées et des sorties en même temps que les lectures/écritures à partir du disque de données.
J'espère que ceci est utile.
Linux peut fonctionner assez bien sans échange si vous avez suffisamment de RAM pour tout ce que vous lui demandez de faire, bien que ce soit toujours une bonne idée d'avoir un peu d'échange car il peut parfois gagner de meilleures performances lorsqu'il est sur le point de remplir la mémoire en poussant certains pas récemment -les éléments utilisés sur le disque libèrent de la RAM à utiliser comme cache/tampon pour les opérations d'E/S actuellement actives.
De plus, avoir un échange, quelle que soit la quantité de RAM dont vous disposez, permet un petit filet de sécurité supplémentaire si une application se comporte mal et a besoin de plus de RAM que d'habitude, ou si vous choisissez de faire quelque chose d'inhabituel qui nécessite beaucoup de mémoire.
En général, je ne suis pas d'accord avec 2xRAM sur les machines modernes. Si vous en avez assez pour vous retrouver avec 8 Go de pages à échanger sur le disque, votre système est susceptible d'avoir atteint une vitesse complètement inutilisable à ce stade de toute façon. Même 1xRAM peut être exagéré dans de nombreux cas IMO. N'oubliez pas que vous pouvez ajouter de l'espace d'échange sous la forme d'un fichier à tout moment, afin que vous puissiez ajouter plus d'espace d'échange plus tard si vous en avez besoin. par exemple, pour ajouter un Go supplémentaire de swap :
dd if=/dev/zero of=/path/to/newfile bs=1024 count=1048576
mkswap /path/to/newfile
swapon /path/to/newfile
et pour le supprimer (une fois qu'il n'est plus nécessaire) :
swapoff /path/to/newfile
rm /path/to/newfile
(n'oubliez pas cependant que l'échange vers des fichiers est un peu plus lent que vers une partition ou un volume logique car vous avez une surcharge du système de fichiers et un plus grand potentiel de fragmentation à prendre en compte)
L'hibernation, c'est-à-dire sur les ordinateurs portables/netbooks, peut compliquer un peu les choses car IIRC Linux stocke l'état de la mémoire dans l'espace d'échange, vous avez donc certainement besoin de plus que votre taille de RAM comme échange si vous prévoyez d'utiliser l'hibernation (et je ne sais pas si cela doit être un échange basé sur la partition/le volume ou si un fichier peut être utilisé - il devra certainement être quelque chose mentionné dans fstab
cela peut être vu très tôt dans le processus de démarrage lorsque le disque RAM initial est utilisé et que votre racine réelle n'est pas encore montée).
Ces points peuvent cependant tous être sans objet. Si vous disposez de téraoctets de stockage sur disque, allouer 8 Go à l'échange ne posera probablement que peu de difficultés !
Selon l'Ubuntu SwapFAQ ici, le calcul est de 2 * Mo de RAM. Donc, dans ce cas, 8 Go. De manière réaliste, cependant, vous ne devriez pas avoir besoin de plus de 2 Go.