diff --git a/HowtoMongoDB.md b/HowtoMongoDB.md index 5a6bf4f1..654d218b 100644 --- a/HowtoMongoDB.md +++ b/HowtoMongoDB.md @@ -183,7 +183,7 @@ La mémoire utilisée par Mongo se répartit en deux types : * La mémoire résidente : celle nécessaire au stockage des bases de données, requêtes, indexes. * La mémoire cache. -MongoDB n'a pas de plafonnement de la mémoire totale utilisée. Il considère qu'il est le seul service sur le serveurs (!). +**MongoDB n'a pas de plafonnement de la mémoire totale utilisée. Il considère qu'il est le seul service sur le serveurs (!).** Par défaut, il limite la taille de son cache à la moitié de la (RAM - 1G), avec un minimum de 256M. Par exemple, sur un serveur avec 6G, il limitera son cache à `(6-1)/2 = 2.5G`. @@ -196,7 +196,18 @@ Dans ce cas, on peut limiter le processus avec les cgroups dans Systemd : [Service] Restart=always MemoryHigh=xG # RAM * 0.7 -MemoryMax=xG # RAM * 0.8 +MemoryMax=yG # RAM * 0.8 +~~~ + +Attention, il peut aussi être nécessaire de désactiver les directives legacy présentes dans l'unité systemd, sans quoi les nouvelles peuvent ne pas être prises en compte : + +~~ +LimitFSIZE= +LimitCPU= +LimitAS= +LimitNOFILE= +LimitNPROC= +LimitMEMLOCK= ~~~ ~~~ @@ -204,7 +215,7 @@ MemoryMax=xG # RAM * 0.8 # systemctl status mongod.service ● mongod.service - MongoDB Database Server (…) - Memory: 1G (high: 4.4G max: 5G) + Memory: 1G (high: xG max: yG) ~~~