Hello tout le monde,
De mon coté j'ai un autre point de vue, surtout avec la généralisation de la virtualisation.
Pour un serveur physique, il est clair que le stockage est souvent pas cher, et ne pas mettre de swap est des fois pas une bonne idée.
Par contre la règle (vieille !) de mettre en swap 2 fois la RAM est assez stupide, surtout quand on a des machines avec 64G ou plus... Le temps que vas mettre l'OS a faire des I/O sera tellement trop élevé que ça va exploser le système et que de toute façon ça va se terminer par un downtime ou des gens qui vont râler.
Donc de mon coté en général je ne mets pas plus que 10Go de SWAP (quelque soit l'OS) quand on est sur du bare métal.
A l'opposé sur de la machine virtuelle, je deviens plutôt facho.
En effet, du swap sur n VM sur UN disque ou une baie SAN/NAS/iSCSI/whatever deviens un truc de qui est largement dangereux et peux foutre en l'air un hyperviseur avec 20 vm en l'air juste parce qu'on a un vm qui a décidé de swapper comme un malade (genre la VM qui fait 20GO de swap, déjà vu ce genre de délires).
Donc en général, je fais la chose suivante :
- OS M$ Windows : swap = 0 - OS Linux : swap entre 0 et 1G (en général je mets 512Mo) - OS BSD : swap 512Mo
Pourquoi ces limites de swap ? Et bien sur ESXi il y a le balloon en RAM, on peux garantir un niveau de ram et "laisser l'hyperviseur" ranger le bordel si besoin.
Donc typiquement, si mon appli en VM a besoin de 1G, je mets 2Go avec une garantie de 1,2Go. Pas de swap, pas de pb....
Et puis je préfère un Out of Memory Kill que d'avoir perdu la main sur les 20 vm de cet hyperviseur.
Dernier point, la dedup (a priori) en RAM existe sur pas mal d'hyperviseur, donc il est potentiellement intéressant de faire 1VM = 1 service que de faire une VM avec 1000 services comme sur un serveur physique...
Xavier