web-dev-qa-db-fra.com

Linux va swaper pendant que beaucoup de RAM sont installés

J'ai une boîte Linux utilisée comme SAN STOCKAGE. Il est équipé de 14 disques disques SATA et le seul logiciel exécuté est une cible ISCSI et un agent Zabbix. Ceci est une boîte physique, pas la VM.

Le RAM Taille installée est de 128 Go, Swap a été arrangé de 4 Go et personne ne se souciait jamais de sa taille lorsque RAM est assez grand, mais comme le BOX RUN (la disponibilité est de 694 jours) Swap a été utilisé de plus en plus en plus, et maintenant, il est utilisé pendant environ 80%.

Le HTOP ne montrera rien de mauvais, on dirait que le système d'exploitation utilise RAM au nom de cache, etc. swappiness _ _ a été réglé sur 10, puis sur 1, aucune aide. Sûrement je peux désactiver le swap. complètement mais on dirait que cela sera mauvais coup.

Donc, ma question est simple, comment puis-je régler la case pour utiliser RAM et ne pas utiliser Swap, et pourquoi il utilise un échange de tout moment RAM est-il suffisant?

Ceci est SAN, il sert donc des blocs non des fichiers, de sorte que le cache peut être effectué sur des bases de blocs, et peut facilement être réduit si RAM est limité, il n'a pas d'impact sur la logique de l'ISCSI.

Zabbix dit maintenant que j'ai RAM Disponible = 123,22 Go (Hey, presque tous de 128 Go!), Swap utilisé est de 3,24 Go de 4 Go.

14
Kevin M

Il n'y a pas de problème. Même s'il y a toujours disponible RAM, le noyau Linux déplacera des pages de mémoire qui sont pratiquement jamais utilisées dans l'espace d'échange.

Il est bon d'échanger des pages de mémoire inactives pendant un certain temps, ce qui maintient des données souvent utilisées dans le cache; C'est la situation souhaitée du noyau.

Vous pouvez avoir plus de contrôle à ce sujet en utilisant vfs_cache_pressure (qui contrôle la tendance du noyau à récupérer la mémoire utilisée pour la mise en cache des objets de répertoire et d'inode) et swappiness (qui contrôle à quel point le noyau échangera des pages de mémoire: les valeurs plus élevées augmenteront l'agressivité, Les valeurs inférieures diminuent la quantité de swap).

Vous pouvez trouver ces paramètres dans /etc/sysctl.conf.

23
Overmind