Puncte:0

Cum se deduce numerele de memorie VSZ și rezidenți pentru comanda de top, utilizare activă/gratuit?

drapel us

Am două vm-uri unul cu 2vCPU, 4GB RAM și altul cu 4vCPU și 8GB RAM

Acum am instalat/am rulat aceeași aplicație (k8s pods) cu aceeași memorie, alocații CPU, solicitări, limite pentru ambele VM.

Observatii

  • Când descarc întreaga ieșire de sus pe ambele VM-uri și însumez memoria rezidentă a întregului proces, ajung să văd numere similare pe ambele VM-uri, adică aproximativ 2 GB consumați.
  • Însumând toate numerele din coloana VIRT dă 55456748 mai mult sau mai puțin pe ambele vm-uri

Întrebare

  • Cu toate acestea, în comenzile rezumatul comenzii/informații despre memoria procesului de sus afișează numere diferite pe două VM-uri, orice indicații despre de ce și unde, cum să aflați cauza suplimentară de memorie/rădăcină pentru consumul de memorie 4cPU și 8 GB?
2VCPU 4GB

$ cat /proc/meminfo
MemTotal: 3880500 kB
MemFree: 144924 kB
MemDisponibil: 590280 kB
Schimb total: 1327100 kB
Schimb gratuit: 1261564 kB
4VCPU 8GB

$ cat /proc/meminfo
MemTotal: 8008964 kB
MemFree: 197860 kB
MemDisponibil: 1470412 kB
Schimb total: 1327100 kB
Schimb gratuit: 1321408 kB
FedKad avatar
drapel cn
Nu luați în considerare „MemFree”. În schimb, utilizați „MemAvailable” pentru utilizarea memoriei.
Mozhi avatar
drapel us
@FedonKadifeli Am actualizat întrebarea cu MemAvailable, încă mai are discrepanța. adică 8 GB RAM arată doar 1,5 GB disponibil și 4 GB VM arată doar 590 MB disponibil
Puncte:1
drapel cn

Nu folosi MemFree, dar în schimb folosiți MemDisponibil metrica pentru a determina cantitatea de memorie „liberă” pe care sistemul o poate folosi pentru aplicații fără a fi schimbată.

O explicație detaliată pentru aceasta este dată aici, de exemplu:

https://superuser.com/questions/980820/what-is-the-difference-between-memfree-and-memavailable-in-proc-meminfo

Am scris următoarea funcție Bash pentru inspecția generală a utilizării memoriei. Puteți introduce codul până la sfârșitul dvs .bash_aliases fişier.

funcția mf
{
 mt=($(grep '^MemTotal:' /proc/meminfo))
 ma=($(grep '^MemAvailable:' /proc/meminfo))
 lasă mtmb=${mt[1]}/1024
 lasă mamb=${ma[1]}/1024
 let mumb="(${mt[1]}-${ma[1]})/1024"
 let muse="(${mt[1]}-${ma[1]})*100/${mt[1]}"

 st=($(grep '^SwapTotal:' /proc/meminfo))
 sf=($(grep '^SwapFree:' /proc/meminfo))
 lasă stmb=${st[1]}/1024
 fie sfmb=${sf[1]}/1024
 let sumb="(${st[1]}-${sf[1]})/1024"
 dacă (( st[1] != 0 )) ; atunci
   let suse="(${st[1]}-${sf[1]})*100/${st[1]}"
 altfel
   suse=0
 fi
 printf "%17s%10s%10s%6s
Memorie %9sM%9sM%9sM%5s%%
Schimbați %9sM%9sM%9sM%5s%%
„ „Total” „Utilizat” „Av/Free” „Utilizare%” \
   $mtmb $mumb $mamb $muză \
   $stmb $sumb $sfmb $suse
}
Mozhi avatar
drapel us
Vă mulțumesc pentru răspuns, dar încă văd discrepanțe în numerele finale și cu scriptul dvs., nu spun nimic greșit cu scriptul dvs., dar numerele subiacente raportate de vm pot fi înșelătoare Pe VM 4cpu 8GB RAM Total Utilizat Av/Utilizare Gratuită% Memorie 7821M 6377M 1443M 81% Schimbați 1295M 5M 1290M 0%
Mozhi avatar
drapel us
ON 2 cpu 4GB RAM VM Total Utilizat Av/Utilizare Gratuită% Memorie 3789M 3209M 579M 84% Schimbă 1295M 63M 1232M 4%
Puncte:1
drapel us

OK, acest lucru s-a datorat configurației uriașe de pagini pe care am setat-o ​​în timpul instalării unei aplicații, sistemul de operare creează paginile aparent pe baza valorilor specificate în timp ce le activează.

2VCPU 

aproximativ 600 de pagini cu fiecare 2048k, adică 1,23 GB blocat 

4 vcpu

aproximativ 2048 de pagini cu fiecare 2048k, adică 4,2 GB blocați în memoria principală
FedKad avatar
drapel cn
Există multe motive pentru care un sistem cu memorie mai mare va folosi mai multă memorie decât un sistem identic cu memorie mai mică. Ai găsit unul dintre ei. Vă rugăm să extindeți răspunsul pe măsură ce găsiți alte motive. (Răspunsul meu a fost dat pentru a sublinia faptul că MemAvailable ar trebui să fie folosit în loc de MemFree. Și îmi ofer punctele răspunsului tău!)

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.