Est-ce important sur la quantité de zone de swap dans le système Linux

12

Est-ce important si la quantité d'une zone de swap sous Linux a été définie trop petite (disons 1 Go), et la RAM principale l'est 128Gb?

Devrions-nous toujours définir la quantité de zone de swap à deux fois la quantité de RAM?

MIS À JOUR:

Bonjour, merci à tous d'avoir répondu à cette question. En fait, j'ai cette question parce que nous avons rencontré des problèmes lors de l'utilisation d'un petit système de cluster. Les problèmes sont affichés ici . L'image suivante contient des informations sur certains ordinateurs de ce petit cluster.

information

La MEMTOTest la quantité totale de RAM de cette machine, la SWAPTOest la quantité totale de la zone SW AP de cette machine, et SWAPUSest la quantité utilisée de la zone de SWAP. Comme le montre l'image, l'utilisation de SWAP est en effet faible.

Lorsque vous essayez de résoudre ces problèmes publiés dans Ici , nous ne savons pas si la quantité de zone SWAP est définie trop petite, ce qui est juste 1Gbrelatif 128Gb, comme indiqué dans l'image. Ainsi, j'ai cette question. Je suis désolé de ne pas avoir publié l'intégralité des informations de base dans la version originale de cet article. Avant cela, nous pensions également que si la quantité de RAM était grande, nous pourrions définir une petite quantité de SWAP. Nous avons essayé de définir le SWAP c0148sur 16Gb, le problème ne semble pas être (peut-être devrions-nous tirer cette conclusion après avoir observé leur statut pendant longtemps).

Nous ne sommes pas des professionnels du système Linux, et nous n'avons pas pu expliquer pourquoi cela s'est produit. Il est probable qu'il s'agisse d'un système de cluster, et le SGE gère les ressources de chaque machine, et il doit avoir une quantité relativement importante de SWAP car cette machine peut être utilisée par de nombreux travaux soumis par de nombreux utilisateurs.

En outre, si nous réglons simplement la quantité de SWAP sur une valeur trop élevée, les autres problèmes que cela entraînerait méritent également d'être pris en considération.

exploitation minière
la source
1
Si vous avez 128 Go de RAM et que vous commencez à échanger - ce système est probablement hors de contrôle et mort de toute façon. Personnellement, j'exécuterais probablement ce serveur sans échange du tout. L'OOMKiller doit prendre en charge tout processus d'emballement avant que la mémoire insuffisante ne provoque un crash - et le crash est plus rapide à réparer de toute façon.
Ryan Gooler
1
Ce qui serait - quoi? Quelques mégas de trucs d'init? De la mémoire en cache qui sera lancée dès que quelque chose aura réellement besoin du bélier? Si votre machine a besoin d'échanger de la mémoire pour fonctionner, elle est surchargée et doit être augmentée de toute façon.
Ryan Gooler
1
@Ryan Gooler: Si vous faites des simulations scientifiques, un processus qui utilise 128 Go ou plus n'est pas déraisonnable.
jamesqf
1
Voir Combien d'espace SWAP sur un système à haute mémoire?
Reinstate Monica - M. Schröder
1
@RyanGooler Assez vrai. Mon point est que l'augmentation de l'échange peut permettre aux programmes d'utiliser plus de RAM physique. C'est seulement quelques Mo mais c'est mieux que rien :)
Navin

Réponses:

19

Le noyau Linux a un paramètre pour contrôler la fréquence à laquelle le swap est utilisé, appelé swappiness, décrit sur /unix/88693/why-is-swappiness-set-to-60-by-default .

Un swappiness de zéro signifie que le swap ne sera utilisé que si le système manque de mémoire. Un swappiness de 100 force les programmes à utiliser le swap instantanément.

Ajustez votre système comme vous le souhaitez, mais avoir 128 Go de RAM est très peu probable que votre système manque de mémoire facilement, donc avoir 2/4 Go de swap pourrait être suffisant. Il n'est pas conseillé, mais possible, d'exécuter un système sans partition de swap.

Je pense que la règle de la zone d'échange de deux fois la quantité de RAM est obsolète et n'est utile que sur les systèmes d'environ 1 Go de RAM et toujours à la limite de l'utilisation complète de la RAM.

jcbermu
la source
2
Bien que la définition swappinessde 0 semble logique avec une grande quantité de RAM, il peut être préférable de la conserver comme valeur par défaut 60: http://unix.stackexchange.com/a/88820/50687 .
AL
1
Existe-t-il un graphique avec la permutabilité de 0 à 100 sur un axe et autre chose sur l'autre pour montrer comment… la permutabilité dépend de la valeur?
user1306322
Bonjour, @jcbermu, j'ai mis à jour le message, si cela vous convient, veuillez le vérifier.
exploitation minière le
5

Je crois que la règle empirique 2x est obsolète. Nos stations de travail ont 16 Go de RAM, nous n'en utilisons généralement qu'environ 25% et à peine plus de 50%. Donc, pour nos besoins, nous n'utilisons aucun échange.

Étant donné que vous devez décider de la quantité de swap à créer et qu'il est théorique que le nombre que vous choisissez ne soit pas suffisant à un moment donné, alors pourquoi ne pas choisir 0? Ou - pourquoi ne pas simplement installer plus de RAM?

Je crois que c'est une décision très personnelle basée sur la façon dont votre ordinateur sera utilisé et la quantité de RAM dont il dispose.

gjcamann
la source
Bonjour @gjcamnn, merci d'avoir répondu. J'ai mis à jour le message, si cela vous convient, veuillez le vérifier.
exploitation minière le
0

À moins que vous ne fassiez des calculs gourmands en mémoire, vous n'avez pas besoin du tout de swap (mais il vaut mieux avoir une petite partition de swap). Mais avoir swap> ram est nécessaire lorsque vous allez utiliser la suspension sur le disque.

ustp
la source
Salut, @ustp, merci d'avoir répondu. J'ai mis à jour le message, si cela vous convient, veuillez le vérifier.
exploitation minière le