Linux Bellek Kullanımı Kontrolü

Gülçin Yıldırım Jelínek —  24 Şubat 2014 — Yorum bırakın

Linux sistemlerde bellek kullanımını görmek çok kolaydır ve basit komutlar ile bellek kullanımı kontrol edilebilir.

/proc/meminfo dosyasına bakmak

proc/meminfo dosyasını cat, grep gibi komutlarla inceleyebiliriz. Bu dosya Linux tabanlı sistemlerdeki bellek kullanımı ile istatistikleri tutar. Aynı dosya ‘free’ gibi komutlar tarafından da kullanılır ve kullanımda olan, boş olan belleği (hem fiziksel hem swap) görmemizi sağlar. Aynı zamanda paylaşılan belleği ve çekirdek (kernel) tarafından kullanılan ‘buffer’ları da görmemizi sağlar.

Cat ile bakalım, aşağıdakine benzer bir çıktı alırız.

[gulcin@apathetic ~]# cat /proc/meminfo
MemTotal:       41084620 kB
MemFree:         5786672 kB
Buffers:           21164 kB
Cached:         33867760 kB
SwapCached:         9848 kB
Active:         19657416 kB
Inactive:       14302504 kB
Active(anon):    6200092 kB
Inactive(anon):   321168 kB
Active(file):   13457324 kB
Inactive(file): 13981336 kB
Unevictable:        7140 kB
Mlocked:               0 kB
SwapTotal:      10223608 kB
SwapFree:       10146508 kB
Dirty:                68 kB
Writeback:             0 kB
AnonPages:         75696 kB
Mapped:          6454072 kB
Shmem:           6447520 kB
Slab:             785516 kB
SReclaimable:     737588 kB
SUnreclaim:        47928 kB
KernelStack:        3504 kB
PageTables:        55512 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    30765916 kB
Committed_AS:    6976840 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      381956 kB
VmallocChunk:   34336890572 kB
HardwareCorrupted:     0 kB
AnonHugePages:     20480 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:        5480 kB
DirectMap2M:     2025472 kB
DirectMap1G:    39845888 kB

Ya da dosyayı egrep ile renklendirip sorgulayabiliriz.

[gulcin@apathetic ~]# egrep --color 'Mem|Cache|Swap' /proc/meminfo
MemTotal:       41084620 kB
MemFree:         5768688 kB
Cached:         33880940 kB
SwapCached:         9848 kB
SwapTotal:      10223608 kB
SwapFree:       10146512 kB

free komutu

Bellek boyutunu megabayt cinsinden görelim:

[gulcin@apathetic ~]# free -m
             total       used       free     shared    buffers     cached
Mem:         40121      34473       5647          0         22      33075
-/+ buffers/cache:       1375      38746
Swap:         9983         75       9908

Toplam belleği de bir satır olarak görmek için komuta -t ekleyelim.

[gulcin@apathetic ~]# free -t -m
             total       used       free     shared    buffers     cached
Mem:         40121      34475       5645          0         22      33077
-/+ buffers/cache:       1375      38746
Swap:         9983         75       9908
Total:       50105      34551      15554

“free” komutunun bazı seçenekleri aşağıda açıklanmıştır.

  • -b,-k,-m,-g Bayt, KB, MB veya GB cinsinden çıktı verir.
  • -l Yüksek ve düşük bellek istatistiklerini gösterir.
  • -o Buffer/Cache gibi satırlar olmadan çıktı verir.
  • -t RAM ve swap için toplamları da gösterir.


  • vmstat komutu

    Bir diğer komut vmstat’ın çıktısı aşağıdaki gibidir:

    [gulcin@apathetic ~]# vmstat
    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     0  0  77088 5780776  24236 33872744    0    0   273   976    0    0  2  0 96  2  0

    top/atop/htop komutları

    Bir diğer seçenek top, atop, htop gibi komut satırı araçlarını kullanmaktır. Bu araçlar ile, işlemcide en çok CPU kullanan aktiviteleri interaktif olarak izleyebiliriz.

    Top araçlarının içinde en renklisi htop, temel olarak en çok kullanılanı top ve en anlaşılabilir olanı da atop diyebiliriz. Hepsini deneyip size en uygun olanı seçebilirsiniz.

    Kaynak: Linux Check Memory Usage

    Gülçin Yıldırım Jelínek

    Posts Twitter

    Gülçin annelik için verdiği araya Thales şirketinde Devops ve Otomasyon Mühendisi olarak iş bulup bir son verdi. Son 10 yıldır PostgreSQL, yazılım otomasyonu ve bulut mimarileri üzerine çalışıyor. Tallinn Teknik Üniversitesi'nde Bilgisayar ve Sistem Mühendisliği üzerine yüksek lisans yaptı ve Yıldız Teknik Üniversitesi Matematik Mühendisliği lisans mezunu. PostgreSQL Europe yönetim kurulunda bulundu ve hala toplulukta konuşmalar yaparak ve konferanslar organize ederek aktif olarak çalışmakta. Şu an Prag'da yaşıyor ve Prague PostgreSQL Meetup'ı organize ediyor. Kadın Yazılımcı kurucu üyelerinden biri olmaktan gurur duyuyor.

    No Comments

    Be the first to start the conversation.

    Yorum yapmak için