Finalisation doc mémoire
This commit is contained in:
parent
50cea27c83
commit
4373aa9e41
|
@ -210,14 +210,26 @@ MongoDB n'a pas de plafonnement de la mémoire totale utilisée. Il considère q
|
||||||
|
|
||||||
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`.
|
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`.
|
||||||
|
|
||||||
Le problème, c'est que si la mémoire résidente consomme la moitié de la RAM (ou plus), même poncuellement, on se retrouve avec des erreurs `tcmalloc: allocation failed` dans `/var/log/syslog` et d'autres service qui se font OOM kill.
|
Le problème, c'est que si la mémoire résidente consomme la moitié de la RAM (ou plus), même ponctuellement, on se retrouve avec des erreurs `tcmalloc: allocation failed` dans `/var/log/syslog` et d'autres service qui se font OOM kill.
|
||||||
|
|
||||||
Work in progress :
|
Dans ce cas, on peut limiter le processus avec les cgroups dans Systemd :
|
||||||
|
|
||||||
Solutions :
|
~~~
|
||||||
|
# systemctl edit mongod.service
|
||||||
|
[Service]
|
||||||
|
Restart=always
|
||||||
|
MemoryHigh=xG # RAM * 0.7
|
||||||
|
MemoryMax=xG # RAM * 0.8
|
||||||
|
~~~
|
||||||
|
|
||||||
|
~~~
|
||||||
|
# systemctl restart mongod.service
|
||||||
|
# systemctl status mongod.service
|
||||||
|
● mongod.service - MongoDB Database Server
|
||||||
|
(…)
|
||||||
|
Memory: 1G (high: 4.4G max: 5G)
|
||||||
|
~~~
|
||||||
|
|
||||||
* Mauvaise ? Changer `storage.wiredTiger.engineConfig.cacheSizeGB`, car on ne sait pas jusqu'à combien la mémoire résidente peu aller (et du coup combien on peut laisser au cache).
|
|
||||||
* Bonne ? Définir les options systemd `MemoryHigh` (75% RAM) et `MemoryMax` (85% RAM) + `Restart=on-failure` en cas de OOM.
|
|
||||||
|
|
||||||
## Accès en CLI
|
## Accès en CLI
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue