Încerc să subliniez memoria unui container ubuntu. Tastarea gratuită în terminalul meu de comandă oferă următorul rezultat:
liber -m
total folosit gratuit partajat buff/cache disponibil
Mem: 7958 585 6246 401 1126 6743
Schimb: 2048 0 2048
Vreau să subliniez exact 10% din memoria totală disponibilă. Pe manualul de stres:
-m N, --vm N
începeți N lucrători care apelează în mod continuu mmap(2)/munmap(2) și scrie în cel alocat
memorie. Rețineți că acest lucru poate determina sistemele să declanșeze ucigașul OOM al nucleului pe Linux
sisteme dacă nu este disponibilă suficientă memorie fizică și swap.
--vm-octeți N
mmap N octeți per vm worker, valoarea implicită este 256 MB. Se poate specifica dimensiunea ca % din
totalul de memorie disponibilă sau în unități de octeți, KBytes, MBytes și GBytes folosind
sufixul b, k, m sau g.
Acum, pe containerul meu țintă, rulez doi factori de stres al memoriei pentru a ocupa 10% din memorie:
stress-ng -vm 2 --vm-bytes 10% -t 10
Cu toate acestea, utilizarea memoriei pe container nu ajunge niciodată la 10%, indiferent de câte ori îl rulez. Am încercat diferite valori de timeout, fără rezultat. Dulapul pe care îl primește este de 8,9% nu se apropie niciodată de 10%. Inspectez utilizarea memoriei pe containerul meu astfel:
statistici docker --no-stream kind_sinoussi
CONTAINER ID NUME CPU % MEM UTILIZARE / LIMIT MEM % NET I/O BLOC I/O PIDS
c3fc7a103929 kind_sinoussi 199,01% 638,4MiB / 7,772GiB 8,02% 1,45kB / 0B 0B / 0B 7
În încercarea de a înțelege acest comportament, am încercat să rulez aceeași comandă cu o unitate exactă de octeți.În cazul meu, voi opta pentru 800 mega deoarece 7958m * 0.1 = 795,8 ~ 800m.
stress-ng -vm 2 --vm-bytes 800m -t 15
Și, primesc 10%!
statistici docker --no-stream kind_sinoussi
CONTAINER ID NUME CPU % MEM UTILIZARE / LIMIT MEM % NET I/O BLOC I/O PIDS
c3fc7a103929 kind_sinoussi 198,51% 815,2MiB / 7,772GiB 10,24% 1,45kB / 0B 0B / 0B 7
Poate cineva să explice de ce se întâmplă asta?
O altă întrebare, este posibil ca stress-ng să streseze utilizarea memoriei la 100%?