Jeg har brugt top
til at se hukommelsesforbruget i øjeblikket. Men jeg vil gerne overvåge hukommelsesforbruget over en periode. F.eks. starte overvågning og derefter udføre et par kommandoer, og endelig stoppe overvågningen og se hvor meget hukommelse, der er blevet brugt i løbet af perioden.
Hvordan kan jeg gøre dette på Ubuntu Server?
Jeg gætter på at jeg kunne starte et cronjob hvert 5. sekund eller deromkring, og påkalde en kommando der logger det aktuelle hukommelsesforbrug i en tekstfil. Men hvilken kommando skal jeg bruge for at få det aktuelle hukommelsesforbrug i et format, der er let at logge til en tekstfil?
Jeg anbefaler at kombinere de tidligere svar
watch -n 5 free -m
Bemærk, at Linux kan lide at bruge al ekstra hukommelse til [cache harddiskblokke] (http://www.linuxhowtos.org/System/Linux%20Memory%20Management.htm). Så du don't ønsker at se på bare den frie Mem
. Du skal se på kolonnen free
i rækken -/+ buffers/cache:
. Den viser, hvor meget hukommelse der er tilgængelig for programmerne. Så jeg kørte bare free -m
og fik dette:
total used free shared buffers cached
Mem: 3699 2896 802 0 247 1120
-/+ buffers/cache: 1528 2170
Swap: 1905 62 1843
Jeg ved, at jeg bruger 1528 MB og har 2170 MB fri.
Note: For at stoppe denne watch
-cyklus kan du bare trykke på Ctrl+C.
Brug kommandoen free.
Dette er f.eks. resultatet af 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 /+
returnerer kun den anden linje:
-/+ buffers/cache: 947 1064