it-swarm-tr.com

Bellek kullanımını nasıl izleyebilirim?

Şu anda bellek kullanımını görmek için top kullandım. Ancak bir süredir hafıza kullanımını izlemek istiyorum. E.g izlemeye başlayın ve ardından birkaç komutu yürütün ve son olarak izlemeyi durdurun ve dönem boyunca ne kadar hafıza kullanıldığını görün.

Bunu Ubuntu Sunucusunda nasıl yapabilirim?

Sanırım her 5 saniyede bir cronjob başlatabilirim ve mevcut bellek kullanımını bir metin dosyasına kaydeden bir komutu çağırabilirim. Ancak mevcut bellek kullanımını bir metin dosyasına kaydedilmesi kolay bir biçimde almak için hangi komutu kullanmalıyım?

260
Jonas

Önceki cevapları birleştirmenizi öneririm

watch -n 5 free -m

Linux'un ekstra önbellek sabit disk blokları için fazladan bellek kullanmayı sevdiğini unutmayın. Yani sadece ücretsiz Mem bakmak istemiyorum. -/+ buffers/cache: satırının free sütununa bakmak istiyorsunuz. Bu, uygulamalar için ne kadar hafıza kullanılabilir olduğunu gösterir. Böylece sadece free -m koştum ve şunu aldım:

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

Kullandığımı biliyorum 1528 MB ve 2170 MB ücretsiz .

Not: Bunu durdurmak için watch döngüsü Ctrl+C.

321
Justin Force

Sanırım htop en iyi çözüm.

  • Sudo apt-get install htop

Bu şekilde hangi programların en çok RAM kullandığını göreceksiniz. ve isterseniz kolayca sonlandırabilirsiniz. İşte bir ekran görüntüsü!

210
Alvar

Her çalışan işlem tarafından kullanılan hafızanın güzel bir dökümünü arıyorsanız, o zaman kontrol etmenizi tavsiye edebilirim ps_mem.py (found burada) , pixelbeat.org'da).

Yukarıdaki açıklamalarda, tek satırlık anlık görüntü almaktan ücretsiz istediğinizi söyledim, ancak başkalarının da bunu yararlı bulabileceğini düşündüm.

Örnek çıktı:

[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

Sevmediğim tek bölüm, betiğin kök ayrıcalıkları gerektirdiğini iddia etmesi. Bunun neden böyle olduğunu tam olarak anlama fırsatım olmadı.

40
Jason Mock

free komutunu kullanın. Örneğin, bu free -m çıktısıdır:

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

free -m | grep /+ sadece ikinci satırı döndürür:

-/+ buffers/cache:        947       1064
24
Isaiah

watch komutu faydalı olabilir. Her beş saniyede bir güncelleme ile bellek kullanımını izlemek için watch -n 5 free'u deneyin.

11
mgunes

cat /proc/meminfo kullanarak bunu yapabilirsiniz.

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
7
Amir

Genel RAM kullanımının görsel izlenmesi için Byob kullanırsanız, bellek kullanımınızı terminalin sağ alt köşesinde tutar ve herhangi bir terminal oturumu.

Ekran görüntüsünden görebileceğiniz gibi, sanal makinemde 1h3m çalışma süresi, 0.00 yük, 2.8GHz (sanal) işlemci ve 994MB (% 21) sistemde mevcut RAM.

Byobu in use

4
bafromca

Tek hat çözümü ve çıktı:

free -m | grep "Mem:"

Beklenen çıktıya bir örnek:

Mem:           3944         652         302          18        2990        2930
3
Tim

Bellek Kullanımını İzleme

Daha çok bellek kullanımını izlemek için harika bir yol olarak Cacti'den bahseden önceki yayınlardan birine paralelim. Ancak, kaktüsler artık ana akımda popüler olmadığı için, Grafit adı verilen alternatif bir grafik uygulaması var.

Grafit, bir ubuntu sunucuya kurmak ve onu yüklemek için nispeten kolaydır, kurulum prosedürlerini takip etmek için bu bağlantıya göz atın 'ı kullanabilirsiniz.

Grafit yüklendikten sonra, şimdi, istediğiniz aralıkta, ona bellek ölçümleri gönderebilirsiniz; her 5 saniyede bir, her dakika, her saat ... vb.

Bellek ölçümlerini grafik olarak çizmek için, daha önceki yayınlarda önerildiği gibi, gerekli komut bilgilerini toplamak için sistem araçlarını kullanarak kendi komut dosyanızı yazabilirsiniz. Veya, tüm işi sizin için yapacak olan önceden yazılmış bir snmp eklentisini kullanabilirsiniz.

Kendi bellek betiğinizi yazmak istiyorsanız, kullanılmış belleği hesaplarken arabelleğe alınan ve önbelleğe alınmış belleği hesaba katarsanız, aksi halde yanlış veri toplamanız gerekecektir.

Bunun yerine, zaten sizin için gerekli tüm hesaplamaları yapan bir snmp eklentisini kullanmak istiyorsanız, işte size oldukça iyi çalışan bir link: checkMemoryviaSNMP .

SNMP’nin Artıları:

İzlediğim tüm uzak düğümlere snmp kurulu. Bu, uzaktaki düğümlere bir eklenti kopyalamak veya koymak zorunda kalmadan tüm sistemlerimi bir merkezi sunucudan izlememe izin veriyor.

SNMP Eksileri:

Belleği izlemek istediğiniz uzak düğümlerin her birine snmp aracısının yüklendiğinden emin olmanız gerekir. Ancak, bu kurulum tek seferlik bir anlaşma olacak. Aşçı veya kukla gibi otomasyon araçlarını veya ortamınızdaki benzer araçları kullanıyorsanız, bu hiç sorun değil.

Uzak düğümlerdeki SNMP aracısının yapılandırması:

Snmp aracısı yüklendikten sonra, sadece /etc/snmpd/snmpd.conf dosyasını vi ve bu satırı buna ekleyin:

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

Sonra snmpd aracısını yeniden başlatın:

/etc/init.d/snmpd restart

Ardından, diğer sunucularınızı izlemek istediğiniz merkezi sunucunuzda aşağıdaki komutu çalıştırabilirsiniz:

$ 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

Ben kullanırdım Cacti . Bu, belirli bir süre boyunca hafıza kullanımınızı vb. Grafikler ve web tarayıcınızı kullanarak kullanımı kontrol edebilirsiniz.

1
Matt