J'ai lu à plusieurs reprises que la règle de base en matière d'espace d'échange consiste à doubler la quantité de RAM physique. Cependant, 32 Go semble BEAUCOUP. Ai-je besoin de ça? Ai-je besoin du tout avec cette grande quantité de RAM physique?
J'ai lu à plusieurs reprises que la règle de base en matière d'espace d'échange consiste à doubler la quantité de RAM physique. Cependant, 32 Go semble BEAUCOUP. Ai-je besoin de ça? Ai-je besoin du tout avec cette grande quantité de RAM physique?
Réponses:
Cela dépend entièrement de ce que vous prévoyez de faire avec la machine. Par exemple, s'il s'agissait d'un serveur SAP, alors oui, j'ajouterais un swap de 32 Go (nous avons des boîtes au travail avec un swap de 128 Go et un swap de 32 Go). Si vous manipulez des images et des vidéos volumineuses, il est logique de procéder à un petit échange. 32 Go est probablement exagéré.
Cependant, je ne dirais pas zéro swap.
Dans le cas peu probable où vous manqueriez de mémoire vive - peut-être ouvrir un fichier volumineux, un onglet long dans firefox, peu importe, dans ce cas, le destructeur de votre MOO noyau démarrera et supprimera des applications pour récupérer de la mémoire. Dans ces circonstances, il est tout à fait possible que vous perdiez des données lorsque des applications sont supprimées. Cependant, si vous avez un peu d'échange, le système continue, récupérant l'échange et permettant au système de continuer. Le système ralentit lorsque des échanges importants se produisent, vous remarquez et enquêtez avant que tous les échanges ne soient épuisés. Aussi le disque est très bon marché, alors pourquoi ne pas avoir swap?
Toute personne qui dit "vous n'avez pas besoin d'échange" sans vous demander ce que vous faites réellement avec votre ordinateur fait des suppositions. Même si vous ne faites que très peu de choses avec votre ordinateur qui consomme de la mémoire vive, il est toujours préférable de poser des questions sur ce que vous envisagez de faire avec cet ordinateur avant de décider de façon irréfléchie que vous n'avez pas "besoin" d'échange. À mon humble avis
Voici une très bonne recommandation de RedHat: Espace de permutation de systèmes recommandé
Un extrait du même lien:
Dans les années précédentes, la quantité recommandée d'espace de swap augmentait de manière linéaire avec la quantité de RAM du système. Mais comme la quantité de mémoire dans les systèmes modernes a augmenté pour atteindre des centaines de giga-octets, il est maintenant reconnu que la quantité d'espace d'échange requise par un système dépend de la charge de travail mémoire exécutée sur ce système. Toutefois, étant donné que l’espace de swap est généralement désigné au moment de l’installation et qu’il peut être difficile de déterminer à l’avance la charge de travail de la mémoire d’un système , nous vous recommandons de déterminer l’échange de système à l’aide du tableau suivant.
Tableau actuel (à partir de décembre 2017):
Amount of RAM in the system Recommended swap space Recommended swap space
if allowing for hibernation
--------------------------- ---------------------------- ---------------------------
2GB of RAM or less 2 times the amount of RAM 3 times the amount of RAM
2GB to 8GB of RAM Equal to the amount of RAM 2 times the amount of RAM
8GB to 64GB of RAM At least 4 GB 1.5 times the amount of RAM
64GB of RAM or more At least 4 GB Hibernation not recommended
Table originale:
Amount of RAM in the System Recommended Amount of Swap Space
4GB of RAM or less a minimum of 2GB of swap space
4GB to 16GB of RAM a minimum of 4GB of swap space
16GB to 64GB of RAM a minimum of 8GB of swap space
64GB to 256GB of RAM a minimum of 16GB of swap space
256GB to 512GB of RAM a minimum of 32GB of swap space
Argh. Les réponses à ce message sont très erronées, et cela apparaît comme l'un des premiers résultats d'une recherche Google pour "Combien de swap?"
Premièrement, un bon point de référence est la FAQ sur Ubuntu Swap
Cette FAQ souligne un point important que personne ne mentionne ici, et c'est (c'est moi qui souligne)
Parfois, un programme volumineux (comme OpenOffice, Neverwinter Nights ou un éditeur vidéo) oblige l'ensemble du système à avoir besoin de plus de mémoire. Un nombre important de pages utilisées par ces programmes volumineux lors de son démarrage peuvent uniquement être utilisés pour l’initialisation puis ne plus jamais être utilisés. Le système peut échanger ces pages et libérer de la mémoire pour d'autres programmes ou même pour le cache de disque . Dans ces cas, l’échange sera utilisé pour aider le système à gérer toute charge supplémentaire.
Ainsi, l' échange n'est pas seulement pour l'hibernation! Cette activité, qui consiste à permuter les pages inutilisées, peut être bénéfique dans certains scénarios et préjudiciable dans d’autres. Bénéfique, car le système peut libérer de la mémoire que le système peut utiliser ailleurs, mais il est préjudiciable lorsque cet échange est trop agressif et remplace les pages que vous souhaitez réellement. Cela est particulièrement vrai sur un système de bureau où les applications peuvent rester inactives pendant de longues périodes, mais l'utilisateur attend toujours des performances immédiates pour le ramener à la vie. Le contrôle de son agressivité est appelé swappiness
La FAQ Ubuntu Swap en parle légèrement sous Qu'est-ce que swappiness et comment puis-je le changer? La valeur par défaut sur un système Ubuntu est 60, tandis que la FAQ recommande une valeur de 10 pour un ordinateur de bureau.
Donc, je dirais qu'il est généralement très important de ne pas disposer d'un système ne disposant d'aucun espace d'échange, comme certaines personnes le recommandaient, à moins que vous ne connaissiez certains scénarios d'utilisation très spécifiques pour votre système et que vous soyez très conscient des conséquences. ça aurait pu. (Personnellement, il n’existe aucune situation dans laquelle je lancerais un système sans échange.) Dans un scénario de mémoire insuffisante sans échange, le système commencera à mettre fin aux processus (généralement celui qui a provoqué le MOO).
Probablement pas. Si vous envisagez de mettre votre ordinateur en veille prolongée (suspension sur disque), vous aurez besoin d'au moins 16 Go. Si vous n’êtes pas en veille prolongée, il suffit de laisser quelques gigaoctets pour l’échange (4 à 8 max.)
Par expérience, je peux dire ceci:
Pour ce que j'ai vu utiliser 4 Go de RAM pendant 3 ans, Ubuntu a eu une utilisation d'échange d'environ 60 Mo, mais uniquement lors de tâches très intensives. Il y a quelques semaines, j'ai commencé à utiliser un ordinateur doté de 16 Go de RAM et l'utilisation de l'échange est restée à 0% depuis toujours. J'ai effectué plusieurs compilations, rendu vidéo et autres tâches intensives. Il n'y a jamais eu de changement de swap. Pas même un changement de 1Ko.
Fondamentalement, dans Ubuntu, plus vous disposez de mémoire RAM, moins vous risquez d’utiliser ou de devoir échanger une tâche. 16 Go de RAM, ou même 8 Go de RAM est plus que suffisant. Je l'ai fait avec les 16 ordinateurs PC Virtualbox de 16 Go (chacun entre 1 Go et 2 Go de RAM). J'ai compilé et rendu une vidéo 720p et même dans ces conditions, l'échange n'a pas changé.
Cela dit, la règle de deux fois plus de mémoire RAM ne devrait pas s'appliquer aux systèmes Linux, encore plus si vous avez plus de mémoire. Vous devez toutefois avoir la même taille d'échange que celle de votre bélier ou si vous envisagez d'hiberner, car le processus d'hibernation saisit tout le bélier et le met en swap. C'est pourquoi vous avez besoin d'une taille minimale égale à la taille de votre bélier. pour l'échange.
L'autre détail est que certaines applications (pas toutes) forceront toujours à lire à partir de swap. Donc, avoir un peu, c'est bien. Désactiver complètement est très mauvais dans le cas où vous arriverez à manquer de mémoire ou de MOO. À ce stade, si vous n’avez pas d’échange, il n’est pas possible pour le noyau d’échanger des utilisations d’applications RAM différentes et il finira par tuer les applications les moins utilisées.
Si cela vous aide dans la prise de décision sur votre ordinateur de bureau, après avoir mis à jour cette réponse depuis plus de 4 ans, j'ai utilisé un PC RAM de 16 Go, 32 Go et maintenant de 64 Go. Les tests effectués avec seulement 128 Mo d'échange ont révélé que je n'avais pas besoin d'un échange plus important, sauf si je voulais hiberner. J'ai utilisé des environnements cloud, lxc, virtualbox, wine, etc. J'ai rendu des vidéos avec openshot, kazam, frein à main, audace. J'ai utilisé gimp, blender, Inkscape et même la suite complète de LibreOffice. J'ai même joué à la vapeur et dans aucun de ces scénarios, l'échange n'a été utilisé. Bien sûr, il finira par s’habituer à l’utilisation du montant total du bélier d’une manière ou d’une autre, mais en général, plus vous avez de bélier, moins vous aurez besoin d’échange.
Juste mes 2 cents.
Non, vous n'avez pas besoin de 32 Go si vous n'utilisez pas des fonctionnalités telles que la suspension sur disque.
Dans la plupart des cas, je dirais que vous n'en avez pas besoin du tout. Peut-être en aurez-vous besoin si vous éditez des fichiers image très volumineux, ou une autre application nécessitant beaucoup de RAM.
Je n'en ai jamais vu utilisé sur mon système, semblable au vôtre. En fait, à un moment donné, je l'avais désactivé pendant une semaine ou deux accidentellement et je n'avais jamais remarqué de problème. Mais je garde encore environ 5 Go pour mon lecteur d'échange, principalement parce que j'ai plus de 1 To disponible, et que je n'utilise pas tout l'espace qu'il est.
Si votre RAM est supérieure à 1 Go, cela suffit généralement pour Ubuntu. La règle "Swap = RAM x2" s’applique aux anciens ordinateurs dotés de 256 ou 128 Mo de RAM.
Donc, 1 Go de swap est généralement suffisant pour 4 Go de RAM. 8 Go serait trop.
Si vous utilisez la veille prolongée, vous pouvez utiliser autant d’échange que votre quantité de RAM.
Pour une règle générale sur le nombre d’échanges à effectuer, lisez ce qui suit:
https://help.ubuntu.com/community/SwapFaq
Dans votre cas, je dirais que 4 Go suffiraient pour correspondre à votre RAM.
Si vous souhaitez utiliser le mode hibernation, vous n’avez besoin que d’échange, c’est un gaspillage d’espace sur votre disque dur.
sudo swapoff -a
puis mettre votre ordinateur portable en veille.
J'ai un ordinateur portable avec 4 Go de RAM et Ubuntu 16.04. Après le démarrage, il consomme environ 1 Go de RAM et Inkscape (par exemple) ne s'exécute pas (le moniteur système affiche plus de 50% de la RAM disponible). Inkscape se bloque Après avoir appliqué un fichier d'échange, il s'exécute comme prévu, même sans qu'un seul octet d'échange ne soit utilisé. Je recommande donc une partition d'échange (ou fichier d'échange). À propos de la taille, vous pouvez utiliser la règle david6.
De SwapFaq d'Ubuntu :
Programmes consommant de la mémoire Parfois, un programme volumineux (comme LibreOffice, Neverwinter Nights ou un éditeur vidéo) oblige l'ensemble du système à avoir besoin de plus de mémoire. Un nombre important de pages utilisées par ces programmes volumineux lors de son démarrage peuvent uniquement être utilisés pour l’initialisation puis ne plus jamais être utilisés. Le système peut échanger ces pages et libérer de la mémoire pour d'autres programmes ou même pour le cache de disque. Dans ces cas, l’échange sera utilisé pour aider le système à gérer toute charge supplémentaire.
Veille prolongée (suspension sur disque) La fonction de veille prolongée (suspension sur disque) écrit le contenu de la mémoire RAM sur la partition de swap avant d'éteindre la machine. Par conséquent, votre partition d'échange doit être au moins égale à la taille de votre RAM. L'implémentation d'hibernation actuellement utilisée dans Ubuntu, swsusp, nécessite une partition d'échange ou de suspension. Il ne peut pas utiliser un fichier d'échange sur un système de fichiers actif.
Circonstances imprévisibles Des événements imprévus peuvent se produire et se produiront (un programme en train de devenir fou, certaines actions nécessitant bien plus d'espace que vous le pensiez ou toute autre combinaison imprévisible d'événements). Dans ces cas, l’échange peut vous donner un délai supplémentaire pour comprendre ce qui s’est passé ou pour achever vos travaux.
Optimisation de l'utilisation de la mémoire Les disques durs mécaniques étant considérablement plus lents que la RAM (SSD - Solid State Drive - le stockage n'est pas aussi lent que les disques physiques, mais moins que la RAM) lorsque vous avez besoin d'un fichier (qu'il s'agisse d'un fichier de données semblable à une vidéo). exécutables comme Firefox ou des bibliothèques), le noyau Linux lit le fichier dans la RAM et le conserve dans cette mémoire. Ainsi, la prochaine fois que vous en aurez besoin, il est déjà dans la RAM et l’accès aux données est beaucoup plus rapide. Les parties de la RAM qui accélèrent la lecture du disque sont appelées "mémoire en cache". Vous remarquerez qu'ils font une énorme différence en termes de réactivité. Le noyau Linux déplace automatiquement la RAM réservée par les programmes - mais pas vraiment utilisée - vers le swap, de manière à pouvoir mieux étendre la mémoire en cache.
Optimisation des performances d' échange Étant donné que l'espace d'échange utilise un périphérique de disque, cela peut entraîner des problèmes de performances sur tout système utilisant considérablement l'espace d'échange, car le système lui-même peut également utiliser le même périphérique de disque au même moment où il est requis pour les opérations d'échange. Une façon de réduire ce problème consiste à disposer d'espace de permutation sur un disque physique différent afin de réduire ou d'éliminer la concurrence pour cette ressource.
Pour moins de 1 Go de mémoire physique (RAM), il est vivement recommandé que l’espace de permutation soit au minimum égal à la quantité de RAM. En outre, il est recommandé de limiter au maximum l'espace de permutation à deux fois la quantité de RAM, en fonction de la quantité d'espace disque disponible pour le système en raison de rendements décroissants.
Pour les systèmes plus modernes (> 1 Go), votre espace d'échange doit être au minimum égal à la taille de votre mémoire physique (RAM) "si vous utilisez le mode hibernation", sinon vous avez besoin d'un minimum de rond (sqrt (RAM)) et d'un maximum. de deux fois la quantité de RAM. Le seul inconvénient d'avoir plus d'espace d'échange que vous n'utiliserez réellement est l'espace disque que vous allez réserver.
Les "rendements décroissants" signifient que si vous avez besoin de plus d'espace de swap que de deux fois votre taille de RAM, vous feriez mieux d'ajouter plus de RAM car l'accès au disque dur est environ 10³ plus lent que l'accès en RAM, donc quelque chose qui prendrait 1 seconde, prend soudain plus de 15 minutes! Et encore plus d'une minute sur un Solid State Drive (SSD) rapide ...
Exemples de scénarios
RAM(GB) No hibernation With Hibernation Maximum 1 1 2 2 2 1 3 4 3 2 5 6 4 2 6 8 5 2 7 10 6 2 8 12 8 3 11 16 12 3 15 24 16 4 20 32 24 5 29 48 32 6 38 64 64 8 72 128 128 11 139 256
Je pense que vous avez le contraire. Recommandation SWAP , il vous faudrait environ 16 Go. SWAP devrait donc représenter la moitié de la taille réelle de la RAM. Mais c'est toujours BEAUCOUP d'espace. Cela dépend de ce dont vous avez besoin. Je dirais que si vous n'utilisez pas "hibernate", gardez environ 4 Go à environ 8 Go si vous pouvez vous permettre l'espace disque nécessaire. Étant donné que vous disposez de 16 Go, je suppose que vous utilisez peut-être un ordinateur qui a besoin de ressources puissantes… il serait donc peut-être avantageux d’avoir un SWAP de 16 Go à 32 Go.
J'ai 2 Go de RAM et 1 Go SWAP. Cela me convient assez bien, mais ce n'est que mon opinion. Regardez les autres commentaires / suggestions et voyez ce qu'ils disent.
Je ne pouvais pas trouver de références à citer ici, mais si vous voulez utiliser une application dans laquelle vous devez échanger des données entières dans la RAM, vous aurez au moins besoin de "Taille de la RAM + 128 Mo" ou "1,25 fois la taille de la RAM" (i oublié lequel était correct) en supposant que vous avez plus de 2 Go de RAM. Si la mémoire vive est inférieure ou égale à 2 Go, il est recommandé d’avoir deux fois plus de mémoire vive que swap.J'ai suivi cette recommandation dans mon organisation précédente pour IBM AIX basée sur un document IBM. Je pense que cela est vrai pour la plupart des * nix car l'utilisation de swap consiste à déplacer les données de la RAM en toute sécurité au cas où la RAM ne serait pas suffisante pour gérer les données à charger en mémoire. La commande 'free' peut être utilisée pour évaluer la quantité de swap utilisée dans la réalité.
J'ai un ordinateur portable Mac, que je laisse pendant des mois. Bien que beaucoup mieux que Windows, la mémoire s'introduit, en particulier avec votre navigateur, si vous la maintenez. Donc, finalement, la mémoire se remplit. Maintenant, si vous avez un échange, comme d'autres personnes l'ont noté, vous pouvez survivre, remarquer et tuer quelque chose. Mais plus précisément, si vous avez un échange, certaines pages sont échangées et vous pouvez continuer.
Donc, si vous prévoyez de quitter la machine pendant une longue période, l’échange est un moyen pratique de libérer de la mémoire de la malbouffe zombie. Certes, il vous faudra plus de temps pour remplir 16 g que moi avec 3 Go, mais c'est quand même bien. Pour cela, 4 Go fera l'affaire.
S'il s'agit d'un ordinateur portable, le swap doit être au moins égal à la quantité de mémoire vive (RAM), afin de permettre la mise en veille prolongée. Je garderais tout de même un montant égal à la quantité de RAM, même s'il s'agissait d'un ordinateur de bureau, mais ce n'est que moi; cela deviendra peu utile dans un bureau.
Garde ça en tête -
En règle générale, vous devez redimensionner votre espace d’échange à environ 2x la mémoire principale des systèmes dotés de moins de 2 Go de RAM, ou environ 1 mémoire principale si vous en avez plus.
Donc, si vous avez 4 Go de RAM, vous ne devriez jamais avoir besoin d’échange, à moins que l’échange en hibernation
requis soit d’environ 3 - 3,5 Go, pas plus que cela .
Alors, utilisez votre bon sens et ne gaspillez pas d'espace disque
Si vous construisez de très gros fichiers, par exemple si vous construisez des systèmes de traduction automatique sur un ordinateur portable (oui, pourquoi voudriez-vous faire cela? Je peux dire que ceux-ci me font ;-)) la réponse Oui, en fait, je regrette de ne pas avoir échangé 32 Go ...
Pour une utilisation occasionnelle d'Ubuntu pour le travail de bureau et Internet, vous n'utiliserez jamais 2 Go d'échange, mais en réalité, il n'y a pas de réponse claire, tout dépend de ce que vous allez faire sur votre ordinateur ...
Trop d’information et divergence d’opinion.
amount of RAM recommended swap with hibernation
---------------- ---------------- ----------------
less than 4GB 2x RAM size 3x RAM size
up to 8GB 4GB 2x RAM size
up to 16GB 4GB 1.5x RAM size
16GB or more 4GB No extra needed
Personne ne semble avoir mentionné une autre raison d'avoir un espace d'échange important étant que le système ralentisse sensiblement plutôt que de ne pas exécuter les programmes lorsque vous commencez à manquer de mémoire. Si vous avez un équilibreur de charge en amont qui redirige en cas d'échec, vous voudrez peut-être garder le swap petit (disons 1 Go). Si vous voulez que les programmes ralentissent d'abord, alors je considérerais 4 Go + racine carrée de la taille de la mémoire, et si vous le souhaitez pour vraiment ralentir avant que les choses ne meurent, gardez une taille de mémoire minimale de 1,25 fois (tant que des humains impatients n'abandonnent pas en premier - cela conviendrait mieux pour des tâches en arrière-plan).
Je configure en standard 1 Go pour mes machines de développement et de production, peu importe la quantité de mémoire dont elles disposent, elles ont assez pour compiler tous les programmes que je souhaite et pour échanger les programmes jamais utilisés pour utiliser le libéré de la mémoire pour la mise en mémoire tampon du disque.
En comparaison, mon ordinateur portable de 32 Go est doté de 64 Go d’échange, ce qui est un peu excessif, mais je voulais être sûr qu’il continuait de fonctionner même lentement, et je savais que j’allais utiliser plusieurs machines virtuelles gourmandes en mémoire. Un effet inattendu est que lorsque vous avez une plage de mémoire de 32 Go +, le retour en veille prolongée (qui recharge 32 Go de mémoire) est sensiblement plus lent qu’un démarrage à froid.
Non, vous n'avez certainement pas besoin de 32 Go. En règle générale, pour un système de bureau, je dirais que votre échange devrait être compris entre 4 Go et la RAM physique + quelques Go . Donc, pour 16 Go de RAM physique, l’échange peut être de 4 à 18 Go, peut-être.
Les éléments dont vous aurez besoin pour basculer vers l’espace de permutation correspondront à peu près à la quantité de RAM physique utilisée par les applications qui restent résidentes, c’est-à-dire les services système et les applications qui restent exécutées tant que vous les utilisez (par opposition aux tâches exécutées une fois). puis quittez). Supposons que sur un ordinateur de bureau, vous laissiez ouvert un navigateur, un traitement de texte, un programme de messagerie électronique et un éditeur graphique ou vidéo tout en travaillant sur autre chose. Ceux-ci peuvent facilement occuper plus de 2 Go, voire plus de 4 Go. Alors peut-être que 6 Go de swap est approprié.
En règle générale, il ne fait pas de mal de disposer de quelques Go de plus que nécessaire. L’échange ne sera généralement pas utilisé si vous avez beaucoup de mémoire RAM, mais il est utile lorsqu’un processus utilise une quantité excessive et que vous commencez à devenir faible, ce qui peut empêcher le processus de destruction par le système.
Remarque: si vous souhaitez utiliser l'hibernation du système d'exploitation, vous aurez besoin des 16 Go mentionnés ci-dessus, mais les ordinateurs modernes ne tireront pas grand profit de l'hibernation. Si vous possédez un disque SSD rapide, le démarrage peut être aussi rapide ou plus rapide que de sortir du mode veille prolongée, et les ordinateurs modernes consomment une énergie négligeable en mode veille, de sorte que l'utilisation d'énergie du mode veille prolongée n'est pas un facteur important.