Kā uzraudzīt atmiņas izmantojumu?

Esmu izmantojis top, lai redzētu atmiņas izmantojumu šobrīd. Bet es gribētu novērot atmiņas izmantojumu noteiktā laika periodā. Piemēram, sākt monitoringu un pēc tam izpildīt dažas komandas, un galu galā pārtraukt monitoringu un redzēt, cik daudz atmiņas ir izmantots šajā periodā.

Kā to var izdarīt Ubuntu serverī?

Es domāju, ka es varētu palaist cronjob katru piekto sekundi vai tā aptuveni, un izsaukt komandu, kas reģistrē pašreizējo atmiņas izmantošanu teksta failā. Bet kādu komandu man vajadzētu izmantot, lai iegūtu pašreizējo atmiņas izmantojumu tādā formātā, ko ir viegli reģistrēt teksta failā?

Risinājums

Es iesaku apvienot iepriekšējās atbildes

watch -n 5 free -m

Ņemiet vērā, ka Linux labprāt izmanto jebkuru papildu atmiņu, lai kešētu cietā diska blokus. Tāpēc jūs nevēlaties apskatīt tikai brīvo Mem. Jūs vēlaties apskatīt -/+ buferi/ kešatmiņa: rindas -/+ buferi/ kešatmiņa: kolonnu brīvs. Tas parāda, cik daudz atmiņas ir pieejams lietojumprogrammām. Es vienkārši palaidu free -m un ieguvu šādu rezultātu:

             total       used       free     shared    buffers     cached
Mem:          3699       2896        802          0        247       1120
-/+ buffers/cache:       1528       2170
Swap:         1905         62       1843

Es zinu, ka es izmantoju 1528 MB un man ir 2170 MB brīvas atmiņas.

Piezīme: Lai pārtrauktu šo pulksteņa ciklu, varat vienkārši nospiest Ctrl+C.

Komentāri (7)

Izmantojiet komandu brīvs. Piemēram, šis ir free -m rezultāts:

             total       used       free     shared    buffers     cached
Mem:          2012       1666        345          0        101        616
-/+ buffers/cache:        947       1064
Swap:         7624          0       7624

free -m | grep /+ atgriezīs tikai otro rindu:

-/+ buffers/cache:        947       1064
Komentāri (1)

Komanda watch var būt noderīga. Izmēģiniet watch -n 5 free, lai uzraudzītu atmiņas izmantojumu ar atjauninājumiem ik pēc piecām sekundēm.

Komentāri (1)