Oom_reaper omoara întotdeauna aplicația noastră, deși memoria nu este folosită de procesul în sine.
free -m, chiar înainte ca criminalul OOM să încheie procesul, indică faptul că „shared” și „buff/cache” au nevoie de întreaga memorie:
root@local:/tmp# free -m
total folosit gratuit partajat buff/cache disponibil
Mem: 3861 627 95 3037 3138 26
Schimbare: 0 0 0
Ștergerea cache-ului utilizând echo 3 > /proc/sys/vm/drop_caches
nu face nimic.
linuxatemyram.com nu se aplică aici.
De asemenea, am exclus deja ca memoria să fie folosită de un disc RAM/tempfs prin utilizarea df -t tmpfs --total -h
.
meminfo, chiar înainte ca criminalul OOM să încheie procesul, a returnat următoarele:
root@local:/tmp# awk '$3=="kB"{$2=$2/1024;$3="MB"} 1' /proc/meminfo | coloana -t
MemTotal: 3861,26 MB
MemFree: 108.297 MB
Memă disponibilă: 49,6445 MB
Buffere: 2,82422 MB
Memorat în cache: 3069,16 MB
Schimbat în cache: 0 MB
Activ: 42,8164 MB
Inactiv: 578.258 MB
Activ(anon): 2,78125 MB
Inactiv(anon): 542.719 MB
Activ(fișier): 40,0352 MB
Inactiv(fișier): 35,5391 MB
Inevitabil: 2964,51 MB
Mlocked: 18,6484 MB
Schimb total: 0 MB
Schimb gratuit: 0 MB
Murdar: 0,09375 MB
Scriere inversă: 0 MB
AnonPagini: 513.977 MB
Cartografiat: 85,9766 MB
Shmem: 2987,97 MB
KRecuperabil: 37,6602 MB
Slab: 104.531 MB
SRecuperabil: 37,6602 MB
Sunreclaim: 66,8711 MB
KernelStack: 6.625 MB
PageTabele: 11,4961 MB
NFS_Instabil: 0 MB
Bounce: 0 MB
WritebackTmp: 0 MB
CommitLimit: 1930,63 MB
Committed_AS: 5638,47 MB
VmallocTotal: 3,35544e+07 MB
VmallocUtilizat: 27,3516 MB
VmallocChunk: 0 MB
Percpu: 3,23438 MB
Hardware corupt: 0 MB
AnonHugePagini: 0 MB
ShmemHugePagini: 0 MB
ShmemPmdMapped: 0 MB
FileHugePages: 0 MB
FilePmdMapped: 0 MB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Dimensiune mare a paginii: 2 MB
Hugetlb: 0 MB
DirectMap4k: 179.078 MB
DirectMap2M: 3850 MB
ipcs -m --human returnează:
root@local:~# ipcs -m --human
------ Segmente de memorie partajată --------
cheie shmid proprietar perms dimensiune nattch status
0x00000000 2 utilizator 600 512K 2 dest
0x00000000 262202 utilizator 600 512K 2 dest
Când aplicația noastră este terminată, „buff/cache” și „shared” sunt de asemenea eliberate din nou.
De asemenea, profilerul de memorie nu prezintă probleme.
Cum pot afla ce date sunt în „shared” și „buff/cache”?
Sistem: Ubuntu Server 20.04, 5.11.0-41-generic (HWE)