Désactiver complètement le swap est rarement une bonne idée, il est plus prudent d'en laisser un peu avec le swapiness très bas (ou à 0).

Par contre, pour le soucis de ram utilisée, il faut également regarder du coté du NUMA interleaving si le serveur est multi-CPU en architecture NUMA, si l'interleaving n'est ni activé dans le bios, ni forcé au niveau applicatif avec numactl, un processus ne pourra pas utiliser à lui tout seul plus que la mémoire physique attenante à un CPU physique (RAM/nombre de CPU).

Le 29/09/2014 16:57, adrien nayrat a écrit :
Le 29 septembre 2014 16:37, nap <napar...@gmail.com> a écrit :
2014-09-29 16:15 GMT+02:00 <fr...@jack.fr.eu.org>:
Pourquoi tu met du swap avec 20G de ram ?
Vu le faible montant dudit swap, j'imagine qu'il n'est pas vraiment
requis.

Pourquoi ne pas virer le swap ?
+1. sur mes serveurs Oracle c'était 0 de swap (enfin si à l'install car
Oracel check, mais après hop on vire). Même avec swapiness à 0 le swap st
trop utilisé face au cache disque (or dans lecas d'une bdd on préfère que ce
soit la base qui gère ça, pas trop le système).

Surtout qu'il faut se poser la question de voir ce qui se passe quand tu es
déjà à jouer avec le swap pour une vraie raison (donc trop de conso, pas
juste le cache qui ne veux pas rétrécir). Dans mon cas il valait mieux que
ça explose gentiment (HA inside) plutôt qu'un ralentissement qui te fait
perdre la main sur la machine.

Jean
Qu'est-ce que tu avais comme valeur d'overcommit?

Je comprends votre volonté de mettre un swap à 0. pour info on avait
gardé un swap juste "au-cas-ou" mais le swap n'est absolument pas
utilisé. Le free -m le confirme, on avait des "out of memory" alors
qu'on avait 0 à l'utilisation du swap.
En désactivant la sur-allocation la machine est beaucoup plus stricte,
donc comme je l'avais proposé on peut augmenter la RAM ou augmenter la
swap pour jouer sur le CommitLimit . La swap ne serait utilisée
seulement si tous les process se mettaient à consommer toute la
mémoire qu'ils avaient alloué. sur notre serveur c'est loin d'être le
cas, à peine 50% de la RAM utilisée, le reste c'est du cache disque.

Pour info :
With strict overcommit enabled on the system (mode 2 in
'vm.overcommit_memory'),allocations which would exceed the CommitLimit
(detailed above) will not be permitted.

The CommitLimit is calculated with the following formula:
               CommitLimit = ([total RAM pages] - [total huge TLB
pages]) * overcommit_ratio / 100 + [total swap pages]

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/filesystems/proc.txt?id=HEAD#n864
_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/

Répondre à