On lun. 29 sept. 2014 à 12:13:40, adrien nayrat wrote:
Bonjour,
J'ai rencontré des erreurs Out Of memory sur un serveur de bdd, on avait ces messages d'erreurs à la création de process : Sep 29 10:42:26 hostname t of memory [13286]
La machine possède 20Go de ram et en a utilisé la moitié pour le cache.
Petite subtilité, les paramètres mémoire ont été "tuné". Afin d'éviter la sur-allocation (et de risquer un kill de process par le OOM killer) : vm.swappiness = 10 vm.overcommit_memory = 2 vm.overcommit_ratio = 95
https://www.kernel.org/doc/Documentation/vm/overcommit-accounting
Normalement la machine autorise l'allocation de 95% de la RAM + swap et ne commence à swapper qu'en dernier recours.
Voici ce que donne free -m au moment des erreurs. free -m total used free shared buffers cached Mem: 19990 19797 192 0 133 9299 -/+ buffers/cache: 10363 9626 Swap: 5327 0 5327
Je suis surpris par le fait que linux n'a pas libéré la mémoire "cached" ni utilisé le swap? La ligne "-/+ buffers/cache:" indique pourtant qu'il y a plus de 9Go de disponible.
Dans l'urgence on stoppé les erreurs en ajoutant de la ram à chaud (vmware).
Any idea?
J'ai des embryons d'explication, mais je manque cruellement de mots pour les formuler. Je pense que tu peux en trouver une partie ici :
http://serverfault.com/questions/564742/linux-oom-kill-why
Ma question est donc : quel programme as-tu essayé de lancer ?