Linux atop CLI Monitoring Aracı Kurulum ve Kullanımı

Atop; cpu, memory, disk ve network gibi performans açısından kritik sistem kaynaklarınızın kullanım durumunu ve sistem üzerindeki yükü etkileşimli şekilde izleyebileceğiniz bir komut satırı aracıdır.

Load monitoring (yük izleme), özellikle sunucularla uğraşıyorsanız en kritik görevlerden biridir. Bu işlem size yalnızca sistem kaynaklarının nasıl kullanıldığı konusunda bir fikir vermekle kalmaz, aynı zamanda performansla ilgili sorunları tespit etmenize de yardımcı olur. Bu yazıda Linux üzerinde Load monitoring işleminin atop aracı kullanarak nasıl yapılacağını ele alacağım.

İlgili man sayfasına göre atop, Linux sistemleri üzerinde Advanced System & Process Monitor işlemleri için kullanılan etkileşimli bir monitördür. Kurulumu çok basittir, alttaki komut ile kurulum gerçekleştirilebilir.

$ apt-get install atop

Tüm Özellekleriyle:

  • Varsayılan 10 saniyelik periyotlarda sistem üzerinde etkin olan processlerin (aralık içerinsinde bitenler dahil) donanım kaynakları üzerinde tüketimini ve belirtilen yükten hangi processlerin sorumlu olduğunu gösterir.
  • Sistem ve process düzeyinde uzun vadeli analizleriniz için raporlamalar yapar. Bu raporlar /var/log/atop/ altında saklanır. Bu rapor dosyaları varsayılan olarak 28 gün saklanır ve disk alanı kullanımını en aza indirgemek için yazma anında sıkıştırılırmıştır.
  • Varsayılan olarak, yalnızca verilen son aralıkta etkin olan sistem kaynaklarını ve işlemleri gösterir, böylece bu aralıkta tamamen pasif olan kaynaklar veya processler çıktıda yer almaz.
  • Sistem istatistiklerinde renkleri kullanarak kritik bir yüke ulaşmış kaynakları vurgular.
  • Bir process içindeki her bir thread’in kaynak tüketimini gösterebilir.
  • Etkileşimli modda ve komut satırından istenen kaynağa özel izleme yapabilir.
  • İhtiyaç durumunda kurulacak çekirdek modülü netatop ile birlikte, process düzeyinde aktarılan TCP ve UDP paketlerinin sayısını ve ağ trafiği ile ilgili bilgileri verebilir.
  • Aynı şekilde ihtiyaç halinde kurulacak arka plan programı atopgpud ile birlikte, GPU başına yük ve bellek kullanımına ilişkin sistem düzeyinde ve process düzeyinde bilgiler gösterebilir.
  • Ölçeklenebilir pencere özelliği ile pencere genişliğini büyüttüğünüzde veya daralttığınızda dinamik olarak sütun ekleyebilir veya kaldırabilir.

System Level Information

PRC (process): Process ve thread seviyesinde istatistikleri gösteren satırdır. sys user alanları sistem ve kullanıcı modunda tüketilen toplam cpu time’ını, #proc #trun çalışan toplam process ve thread (state running) sayısını gösterir. #tslpi sleeping interruptible, #tslpu sleeping uninterruptible, #zombi zombi işlemlerinin sayısı, clones klon sistem call sayısını ve exit periyot içinde sona eren processlerin sayısını gösterir.
CPU: sys tüm etkin processler tarafından kernel modda harcanan cpu time yüzdesini, user kullanıcı modunda tüketilen cpu time yüzdesini, irq ise interrupt handling için harcanan cpu time yüzdesini gösterir. Sanal makinalar için steal alanı aynı donanım üzerindeki diğer sanal makinaların harcadığı cpu time yüzdesini gösterir. Ayrıca curf: current frequency, curscal: current scaling percentage.
CPL (CPU load): avg1, avg1, avg5 alanları sırayla 1, 5 ve 15 dakikalık periyodlarda CPU tarafından yürütülen veya bekleme durumunda olan process sayısının oluşturduğu yükü ifade eder. Bu alan Linux sistemde CPU’nun fazla veya az kullanımının bir ölçüsüdür. csw context switch sayısı, intr interrupt sayısı.
MEM (Memory): tot total , free anlık boş, cache cache olarak kullanılan memory alanını dirty ise bu alanda diske flush edilmeyi bekleyen memory miktarını gösterir. buff: dosya sistemi metadatası için kullanılan alanı, slab: kernel malloc’ları için kullanılan alanı gösterir.
SWP (Swap): tot disk üzerindeki total swap alanın, free boş swap alanın ifade eder.
LVM/MDD/DSK (Logical volume/multiple device/disk utilization): Hepsi aynı satırda gösterilir. İçerdeği alanlar ismi, I/O için harcanan süre, okuma-yazma sayısı gibi istatistikleri gösterir.
NET (Network utilization): İlk satır TCP/IP stack’inin üst katmanı için üretilir. tcpi alınan TCP segment sayısı, tcpo gönderilen TCP segment sayısı, udpi alınan UDP datagram sayısı, udpo gönderilen UDP datagram sayısı, tcpao aktif açık TCP bağlantı sayısı, tcppo pasif TCP bağlantı sayısını (hala açık olan) gösterir. IP katmanı için olan ikinci satır gönderilen, alınan IP ve ICMP datagram sayılarını gösterir. Devam eden diğer NET satırları ise her bir aktif interface’i temsil eder. İlk kolon interface ismini, busy yoğunluk yüzdesi, pcki pcko alınan ve transfer edilen paket sayılarını gösterir.

Process level information

Bu bölüm son aralıkta sistem kaynaklarını kullanan processler listenir.
Her bir processin generic modda içerdiği alanlara bakacak olursak:

PID: ilgili process
ID, TID: thread-id,
RUID: real user ID,
EUID: effective user ID,
THR: process içindeki thread sayısı,
SYSCPU: processin cpu time tüketimi (kernel modda),
USRCPU: processin user modda cpu time tüketimi,
VGROW: aralık içerisinde ilgili processin kullandığı virtual memory boyutundaki artış,
RGROW: son değer güncellemesinden sonra aralık içerisinde fiziksel memory kullanımındaki artış,
RDDSK: disk okumaları sırasında aktarılan veri boyutu,
WRDSK: diske yazma sırasında aktarılan verileri boyutu,
ST: processin mevcut durumu (N — new, E — exit),
EXC: process sona erdikten sonra çıkış kodu,
S: processin birincil thread’inin mevcut durumu,
CMD: process adı.

Varsayılan çıktı yerine yanda belirtilen argumanlar ile interaktif modda veya başlatırken spesifik kaynak izlemeleri yapabilirsiniz

Kullanım Örnekleri

# Mevcut sistem yükünü 5 saniyelik aralıklarla etkileşimli olarak izlemek için:

atop 5

# Memory izlemesiyle başlatmak için:

atop -m

# Varsayılan kurulumda atop deamon tarafından /var/log/atop/ altında tutulan log dosyalarını okumak için:

atop -r </full/path/to/atop/log/file>

# Verilen çıktı üzerinde ‘t’ ve ‘T’ ile 10dk’lik ileri geri gitme işlemleri yapabilirsiniz.

# 5 ekim 2020 saat 14: 00’dan itibaren günlük dosyasının içeriğini görüntülemek için:

atop -r 20201005 -b 14:00

# atopsar komutu ile özel raporlar üretilebilir. Örneğin aşağıdaki örnekte anlık CPU kullanımını 5dk boyunca 30sn lik aralıklarla raporlayabilirniz.

atopsar -c 30 5

# Ayrıca atopsar -A ile tüm raporları görebilir, atopsar -A -b 11:00 -e 11:15 gibi belirli aralıklardaki raporlara bakabilirsiniz.

Alıntıdır.

5/5 - (7 votes)