it-swarm.dev

Jak mohu sledovat využití paměti?

Použil jsem top, abych viděl využití paměti v tuto chvíli. Chtěl bych však monitorovat využití paměti po určitou dobu. Začněte monitorovat a poté spusťte několik příkazů a nakonec zastavte monitorování a podívejte se, kolik paměti bylo během tohoto období využito.

Jak to mohu udělat na serveru Ubuntu?

Myslím, že bych mohl začít cronjob každých 5 sekund nebo tak, a vyvolat příkaz, který zaznamená aktuální využití paměti v textovém souboru. Jaký příkaz však mám použít, abych získal aktuální využití paměti ve formátu, který se snadno přihlásí do textového souboru?

272
Jonas

Doporučuji kombinovat předchozí odpovědi

watch -n 5 free -m

Všimněte si, že Linux rád používá jakoukoli další paměť k cache bloky pevného disk . Takže se nechcete dívat jen na bezplatný Mem. Chcete se podívat na sloupec free ve sloupci -/+ buffers/cache: řádek. To ukazuje, kolik paměti je k dispozici aplikacím. Tak jsem právě běžel free -m a dostal toto:

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

Vím, že používám 1528 MB a mám 2170 MB zdarma .

Poznámka: Chcete-li zastavit tento cyklus watch, stačí stisknout Ctrl+C.

332
Justin Force

Myslím, že htop je nejlepším řešením.

  • Sudo apt-get install htop

Tímto způsobem si všimnete, jaké programy používají většinu paměti RAM. a můžete jej snadno ukončit, pokud chcete. Zde je snímek obrazovky!

219
Alvar

Pokud hledáte pěkné rozdělení paměti používané při každém běžícím procesu, pak bych mohl doporučit odhlášení ps_mem.py (nalezeno zde --- na pixelbeat.org).

Vím, že ve výše uvedených komentářích jste zmínil, že chcete jednorázový snímek z zdarma , ale domníval jsem se, že by to ostatní mohli považovat za užitečné.

Příklad výstupu:

[email protected]:~$ Sudo ps_mem.py
[Sudo] password for user:
 Private  +   Shared  =  RAM used       Program

  4.0 KiB +   7.5 KiB =  11.5 KiB       logger
  4.0 KiB +   8.0 KiB =  12.0 KiB       mysqld_safe
  4.0 KiB +  10.0 KiB =  14.0 KiB       getty
  4.0 KiB +  42.0 KiB =  46.0 KiB       saslauthd (5)
 48.0 KiB +  13.0 KiB =  61.0 KiB       init
 56.0 KiB +  27.5 KiB =  83.5 KiB       memcached
 84.0 KiB +  26.5 KiB = 110.5 KiB       cron
120.0 KiB +  50.0 KiB = 170.0 KiB       master
204.0 KiB + 107.5 KiB = 311.5 KiB       qmgr
396.0 KiB +  94.0 KiB = 490.0 KiB       tlsmgr
460.0 KiB +  65.0 KiB = 525.0 KiB       rsyslogd
384.0 KiB + 171.0 KiB = 555.0 KiB       Sudo
476.0 KiB +  83.0 KiB = 559.0 KiB       monit
568.0 KiB +  60.0 KiB = 628.0 KiB       freshclam
552.0 KiB + 259.5 KiB = 811.5 KiB       pickup
  1.1 MiB +  80.0 KiB =   1.2 MiB       bash
  1.4 MiB + 308.5 KiB =   1.7 MiB       fail2ban-server
888.0 KiB +   1.0 MiB =   1.9 MiB       sshd (3)
  1.9 MiB +  32.5 KiB =   1.9 MiB       munin-node
 13.1 MiB +  86.0 KiB =  13.2 MiB       mysqld
147.4 MiB +  36.5 MiB = 183.9 MiB       Apache2 (7)
---------------------------------
                        208.1 MiB
=================================

 Private  +   Shared  =  RAM used       Program

Jedinou částí, která se mi nelíbí, je skutečnost, že skript tvrdí, že vyžaduje oprávnění root. Ještě jsem neměl příležitost přesně vědět, proč tomu tak je.

42
Jason Mock

Použijte příkaz zdarma . Jedná se například o výstup z 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 /+ Vrátí pouze druhý řádek:

-/+ buffers/cache:        947       1064
25
Isaiah

Užitečný může být příkaz watch . Snaž se watch -n 5 free k monitorování využití paměti aktualizacemi každých pět sekund.

12
mgunes

Můžete to udělat pomocí cat /proc/meminfo.

MemTotal:        4039160 kB
MemFree:          309796 kB
MemAvailable:    3001052 kB
Buffers:          345636 kB
Cached:          2341288 kB
SwapCached:            8 kB
Active:          1725160 kB
Inactive:        1551652 kB
Active(anon):     538404 kB
Inactive(anon):    70076 kB
Active(file):    1186756 kB
Inactive(file):  1481576 kB
Unevictable:          32 kB
Mlocked:              32 kB
SwapTotal:       4194300 kB
SwapFree:        4194044 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        589988 kB
Mapped:           255972 kB
Shmem:             18596 kB
Slab:             374888 kB
SReclaimable:     310496 kB
SUnreclaim:        64392 kB
KernelStack:        6976 kB
PageTables:        26452 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     6213880 kB
Committed_AS:    3589736 kB
VmallocTotal:   34359738367 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
CmaTotal:              0 kB
CmaFree:               0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      147392 kB
DirectMap2M:     4046848 kB
8
Amir

Pro vizuální sledování celkového využití RAM, pokud používáte Byob ), bude vaše využití paměti v pravém dolním rohu terminálu a bude spuštěno, zatímco vy jsou v jakékoli relaci terminálu.

Jak můžete vidět z obrazovky, můj virtuální stroj má provozuschopnost 1h3m, zatížení 0,00, má 2,8 GHz (virtuální) procesor a 994 MB (21%) z RAM) dostupného v systému.

Byobu in use

4
bafromca

Jednořádkové řešení a výstup:

free -m | grep "Mem:"

Zde je příklad očekávaného výstupu:

Mem:           3944         652         302          18        2990        2930
3
Tim

Sledování využití paměti

Jsem více v souladu s jedním z předchozích příspěvků, které uváděly Cacti jako skvělý způsob, jak sledovat využití paměti. Protože se však zdá, že kaktusy již nejsou v hlavním proudu populární, existuje alternativní grafická aplikace Graphite.

Grafit lze relativně snadno nainstalovat na server ubuntu a nainstalovat jej můžete podívejte se na tento odkaz pro snadný postup při instalaci.

Po instalaci grafitu nyní můžete do ní posílat metriky paměti v libovolném intervalu; každých 5 sekund, každou minutu, každou hodinu ... atd.

Chcete-li graficky znázornit metriky paměti, jak již bylo navrženo v předchozích příspěvcích, můžete pomocí systémových nástrojů napsat vlastní skript a shromáždit potřebné informace o paměti. Nebo můžete použít předepsaný snmp plugin, který vám udělá veškerou práci za vás.

Pokud si přejete napsat svůj vlastní paměťový skript, bude moudré zajistit, abyste při výpočtu použité paměti měli účet s vyrovnávací pamětí a mezipamětí, jinak budete shromažďovat nepravdivá data.

Pokud chcete místo toho použít snmp plugin, který pro vás již provádí všechny potřebné výpočty, zde je odkaz na ten, který funguje docela dobře: checkMemoryviaSNMP .

Výhody SNMP:

Mám nainstalován snmp na všech vzdálených uzlech, které monitoruji. To mi umožňuje sledovat všechny mé systémy z jednoho centrálního serveru , aniž bych musel kopírovat nebo vkládat plugin na vzdálené uzly.

Nevýhody SNMP:

Musíte zajistit, aby byl agent snmp agent nainstalován na každém ze vzdálených uzlů, na kterých chcete monitorovat paměť. Tato instalace však bude jednorázová. Pokud ve svém prostředí používáte automatizační nástroje, jako je šéfkuchař nebo loutka nebo podobné nástroje, pak to vůbec není problém.

Konfigurace agenta SNMP ve vzdáleném uzlu (uzlech):

Po nainstalování agenta snmp jednoduše do souboru /etc/snmpd/snmpd.conf přidejte tento řádek:

rocommunity  (specify-a-community-string-aka-password-here)

Poté restartujte agenta snmpd pomocí:

/etc/init.d/snmpd restart

Poté na svém centrálním serveru, ze kterého chcete místo toho sledovat všechny své ostatní servery, můžete spustit následující příkaz:

$ time ./checkMemoryviaSNMP -v2 public gearman001.phs.blah.com 30 90 graphite,10.10.10.10,2003,typical
WARNING: Used = [ 3.26154 GB ], Installed = [ 5.71509 GB ], PCT.Used = [ 57.069% ], Available.Memory = [ 2.00291 GB ]. Buffer = [ 137.594 MB ], Cached = [ 1.3849 GB ]. Thresholds: [ W=(30%) / C=(90%) ].  System Information = [ Linux gearman001.phs.blah.com 2.6.32-504.30.3.el6.x86_64 #1 SMP Thu Jul 9 15:20:47 EDT 2015 x86_64 ].

real    0m0.23s
user    0m0.03s
sys     0m0.02s
1
SimplisticSpeed

Použil bych Cacti . Tímto způsobem se graficky vynásobí vaše využití paměti atd. A pomocí webového prohlížeče budete moci zkontrolovat využití.

1
Matt

glances je další skvělá možnost vyzkoušet. Prostě pip install Glances nebo stáhnout z zde

0
bit_scientist