Hoe kan ik het geheugengebruik controleren?

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?

Oplossing

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.

Commentaren (7)

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
Commentaren (1)

Het watch commando kan nuttig zijn. Probeer watch -n 5 free om geheugengebruik te monitoren met updates elke vijf seconden.

Commentaren (1)