Puncte:0

/proc/meminfo arată MemFree mai mare decât MemAvailable - Are sens?

drapel in

Din câte am putut înțelege aceasta schimbare în Linux a raportat utilizarea memoriei, /proc/meminfo rapoarte MemFree ca RAM neutilizată în prezent și MemDisponibil ca RAM disponibilă în prezent pentru noile procese fără schimbare.

Din asta, nu ar trebui MemFree fi cuprins în MemDisponibil, fiind astfel întotdeauna mai mic sau egal decât acesta? Bănuiesc că RAM neutilizată este disponibilă și pentru procesele noi, fără schimbare. Sau am înțeles greșit partea „Memoria liberă nu poate fi luată sub filigranul scăzut” (a patra bucată din patch)?

Aceste valori se potrivesc, așa cum era de așteptat, liber și top iesiri.

Am văzut asta într-o mașină virtuală Exadata cu aceste specificații:

cat /etc/oracle-release 
Oracle Linux Server versiunea 7.8

uname -r
4.14.35-1902.306.2.1.el7uek.x86_64

rpm -q sysstat
sysstat-10.1.5-19.el7.x86_64

Deplin /proc/meminfo într-un moment arbitrar, dacă ajută:

MemTotal: 19995464 kB
MemFree: 2963684 kB
MemDisponibil: 1063344 kB
Tampoane: 406124 kB
Memorate în cache: 2609256 kB
Schimbat în cache: 9648 kB
Activ: 4632640 kB
Inactiv: 2348256 kB
Activ(anon): 3882372 kB
Inactiv(anon): 700524 kB
Activ(fișier): 750268 kB
Inactiv(fișier): 1647732 kB
Inevitabil: 634040 kB
Mlocked: 634044 kB
Schimb total: 16777212 kB
SchimbFree: 16579068 kB
Murdar: 1684 kB
Scriere inversă: 0 kB
AnonPagini: 4592704 kB
Cartografiat: 384108 kB
Shmem: 484212 kB
Placă: 511064 kB
SRecuperabil: 249660 kB
Reclamă SUN: 261404 kB
KernelStack: 23184 kB
PageTabele: 96648 kB
NFS_Instabil: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 24602016 kB
Committed_AS: 5737344 kB
VmallocTotal: 34359738367 kB
VmallocUtilizat: 0 kB
VmallocChunk: 0 kB
Hardware corupt: 0 kB
AnonHugePagini: 0 kB
ShmemHugePagini: 0 kB
ShmemPmdMapped: 0 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 2122
HugePages_Free: 590
HugePages_Rsvd: 1
HugePages_Surp: 0
Dimensiune mare a paginii: 2048 kB
DirectMap4k: 833536 kB
DirectMap2M: 15943680 kB
DirectMap1G: 5242880 kB

Mulțumiri,
Emerson

drapel jp
Formula pentru MemAvailable este în codul la care v-ați conectat.
drapel in
@AlexD Da. Problema este înțelegerea mea - din acea formulă, este posibil să aveți mai multă RAM disponibilă decât RAM liberă?
drapel jp
`disponibil = i.freeram - wmark_low`. Înseamnă că valoarea atribuită inițial lui `MemAvailable` este `(MemFree - low watermark)`, care este mai mică decât `MemFree`.
drapel in
@AlexD Are sens. Filigranul scăzut poate fi mai mare decât celelalte componente ale MemAvailable. Chiar am crezut că este imposibil, dar poate este un caz de margine normal. Presupun că asta este. Ai reposta asta ca răspuns?
Puncte:1
drapel jp

Codul începe ca disponibil = i.freeram - wmark_low.

Înseamnă că valoarea atribuită inițial MemDisponibil este (MemFree - filigran scăzut) care este mai mic decât MemFree.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.