Kolege linuksaši, ima netko ideju kako pratiti zauzeće memorije?
Problem je slijedeći, povremeno mi se dogodi ovo:
Code:
free -m
total used free shared buff/cache available
Mem: 15029 5486 8938 114 603 9100
Swap: 16383 4169 12214
xubuntu 18.04, u pozadini otvoren firefox s više tabova, ja radim u windowsima u vboxu (dodijeljeno 2GB). U fullscreenu sam i windozeri mi koriste samo za RDP na mašinu na poslu.
Nakon par sati, minimiziram Vbox i HDD krene roštiljati, uswapan je prilično, nakon 10min sam uspio otvoriti PCE u browseru :-)
OS je na SSDu, a virtualke i swap su na različitim HDDovima, swappiness je na 10. Uptime je 84 dana, ali to nikad nije bio problem.
Neki proces se očito u pozadini malo razigrao, progutao hrpu memorije, uswapao se cijeli sustav i onda se smirio. Trenutno su svi procesi s pristojnom potrošnjom memorije, nema ništa sumnjivo u logovima (kernel, syslog,...).
Nakon incidenta najviše mem. troši Firefox (1GB), ali to je radi hrpe pokrenutih tabova, dalje thunderbird 200MB, ostalo sve sitno, ali ima naravno hrpica dokumenata otvorenih, PDFova,...
Palo mi je napamet:
- povremeno u cronu logirati zauzeće mem po svim procesima pa kad naleti opet takav slučaj proučiti
- mogu namjestiti preko cgroupsa i memlimita da ubije proces koji potroši više memorije od dozvoljenoga, ali to mi je malo brutalno rješenje. U praksi sam ovo već koristio i radi odlično, aktivira oom killer točno na proces koji je pretjerao.
- neki poseban monitoring servis
Ideje?
Sad idem pustiti swapoff/swapon i idem na pauzu sat vremena dok to ne odradi
