May 1 18:18:00 ks354723 kernel: Node 0 DMA: 331*4kB 320*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 3884kB
May 1 18:18:00 ks354723 kernel: Node 0 DMA32: 485*4kB 8*8kB 0*16kB 1*32kB 0*64kB 0*128kB 1*256kB 1*512kB 1*1024kB 0*2048kB 0*4096kB = 3828kB
...
qui précisent le nombre de segments de la taille donnée disponibles. Si ton application a besoin d'un segment de 2048ko et qu'aucun n'est dispo, le noyau déclenchera un oom_killer même si le total disponible dépasse les 2048 ko.
Dans ton cas, la purge des caches ne libère "que" 3 Go de mémoire. Le reste n'a pas pu être libéré car il est effectivement en cours d'utilisation. Il est possible que ces 3 Go étaient utilisés et non libérables lors du déclenchement de l'OOM killer.
Ton serveur est un hyperviseur, c'est en effet embêtant qu'il tue tes VM. Cependant il semble qu'il y avait une réelle saturation dans ton cas. Quelle quantité cumulée de RAM as-tu affecté pour l'ensemble des VM ?
Te voyant mal rajouter de la RAM (tu es au taquet, limite matérielle atteinte non ?), tu devrais répartir tes VM sur d'autres serveurs. Il n'y a, je pense, mais je peux me tromper, pas grand chose d'autre à faire.
[^] # Re: Détails ?
Posté par Sébastien Rohaut (site web personnel) . En réponse au message OOM Killer, avec la moitié de la RAM utilisé par le cache. Évalué à 1.
Je pensais à des entrées de ce genre :
May 1 18:18:00 ks354723 kernel: Node 0 DMA: 331*4kB 320*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 3884kB
May 1 18:18:00 ks354723 kernel: Node 0 DMA32: 485*4kB 8*8kB 0*16kB 1*32kB 0*64kB 0*128kB 1*256kB 1*512kB 1*1024kB 0*2048kB 0*4096kB = 3828kB
...
qui précisent le nombre de segments de la taille donnée disponibles. Si ton application a besoin d'un segment de 2048ko et qu'aucun n'est dispo, le noyau déclenchera un oom_killer même si le total disponible dépasse les 2048 ko.
Dans ton cas, la purge des caches ne libère "que" 3 Go de mémoire. Le reste n'a pas pu être libéré car il est effectivement en cours d'utilisation. Il est possible que ces 3 Go étaient utilisés et non libérables lors du déclenchement de l'OOM killer.
Ton serveur est un hyperviseur, c'est en effet embêtant qu'il tue tes VM. Cependant il semble qu'il y avait une réelle saturation dans ton cas. Quelle quantité cumulée de RAM as-tu affecté pour l'ensemble des VM ?
Te voyant mal rajouter de la RAM (tu es au taquet, limite matérielle atteinte non ?), tu devrais répartir tes VM sur d'autres serveurs. Il n'y a, je pense, mais je peux me tromper, pas grand chose d'autre à faire.