Ik heb top
gebruikt om het geheugengebruik op dit moment te zien. Maar ik zou het geheugengebruik over een bepaalde periode willen bekijken. Bijvoorbeeld: start de monitoring en voer een paar commando's uit, en stop dan de monitoring om te zien hoeveel geheugen er in die periode is gebruikt.
Hoe kan ik dit doen op Ubuntu Server?
Ik denk dat ik een cronjob kan starten om de 5de seconde of zo, en een commando kan aanroepen dat het huidige geheugengebruik logt in een tekstbestand. Maar welk commando moet ik gebruiken om het huidige geheugengebruik te krijgen in een formaat dat gemakkelijk te loggen is naar een tekstbestand?
Ik raad aan de vorige antwoorden te combineren
watch -n 5 free -m
Merk op dat Linux graag alle extra geheugen gebruikt om harde schijf blokken te cachen. Dus je wilt niet alleen kijken naar het vrije Mem
. U wilt kijken naar de vrije
kolom van de -/+ buffers/cache:
rij. Dit laat zien hoeveel geheugen er beschikbaar is voor applicaties. Dus ik rende free -m
en kreeg dit:
total used free shared buffers cached
Mem: 3699 2896 802 0 247 1120
-/+ buffers/cache: 1528 2170
Swap: 1905 62 1843
Ik weet dat ik 1528 MB gebruik en 2170 MB vrij heb.
Note: Om deze watch
cyclus te stoppen kun je gewoon op Ctrl+C drukken.
Gebruik het free commando.
Dit is bijvoorbeeld het resultaat van free -m
:
total used free shared buffers cached
Mem: 2012 1666 345 0 101 616
-/+ buffers/cache: 947 1064
Swap: 7624 0 7624
free -m | grep /+
zal alleen de tweede regel teruggeven:
-/+ buffers/cache: 947 1064