Răspunzând la propria întrebare când am găsit o soluție.
Uciderile oom au avut loc chiar și atunci când statisticile gratuite arătau bine, ca pe o memorie RAM de 256G, doar 140G erau folosiți și totuși aproximativ 100G apar ca gratuit.
[root@serverxx ~]# gratuit -g
total folosit gratuit partajat buff/cache disponibil
Mem: 251 140 108 0 2 108
Schimbă: 19 6 13
uciderile oom au fost declanșate de un procent ridicat de commit în statisticile sar, unde nucleul începe să vizeze instanțe cu amprentă mare de memorie pentru a elibera .
Pentru a evita uciderile oom pentru instanțele invitate cu amprente de memorie mai mari, am setat următoarele.
vm.oom_kill_allocation_task=1
Când am făcut un sar -r, %commit a fost mult mai mare decât sistemul poate aloca și mi-am dat seama din ps că era un container cinder-backup care a fost creat implicit din implementări kolla-ansible, dar nu a fost configurat.
Statisticile serviciului de rezervă Cinder pe care nu le-am configurat și doar rula, sa dovedit că containerul neconfigurat ocupa toată timpul suplimentar de memorie, așa cum se vede din rezultatul comenzii ps din vsz.
ps -eo args,com,pid,ppid,rss,vsz --sort vsz column
VSZ este extrem de mare
COMANDĂ COMANDĂ PID PPID RSS VSZ
/usr/libexec/qemu-kvm -name qemu-kvm       1916998  47324 8094744 13747664
/var/lib/kolla/venv/bin/pyt cinder-backup   43689  43544 170999912 870274784
Statisticile Sar pentru % commit revin la normal după ce containerul de rezervă a fost oprit și acum totul a revenit la normal. %commit evidențiat din 1083,46 până la 14,21 dupa schimbari.
02:00:37 PM kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
15:00:37 48843576 49998184 82890508 62,92 9576 5949348 1427280428 1083.46 75646888 2797388 324
15:10:37 48829248 49991284 82904836 62,93 9576 5956544 1427343664 1083.50 75653556 2804592 116
15:20:22 120198612 121445516 11535472 8,76 9576 6042892 18733688 14.22 4887688 2854704 80
15:30:37 120189464 121444176 11544620 8,76 9576 6050200 18725820 14.21 4887752 2862248 88