Linux Performance Monitoring Komutları

Serife Harman
Turk Telekom Bulut Teknolojileri
5 min readMar 10, 2023

Merhabalar, bu makalede sizlere Linux Monitoring komutlarından bahsedeceğim. Makaleyi okurken bir yandan da test etmek isteyenler https://bulutbilisimciler.com/ sitesi üzerinden kodlama yapabilir.

Linux sistemleri yönetmenin en önemli konu başlıklarından biri, işletim sisteminin performansını takip etmek ve hataları ayıklamaktır. Bu makalede sizlere, en sık kullanacağınız temel işletim sistemi izleme komutlarını öğreneceğiz. Bu komutlar, Linux’un tüm türlerinde bulunur ve performans sorunlarının gerçek nedenlerini izlemek ve bulmak için yararlı olabilir. Burada bahsettiğim komutların ekstra argümanları için
komut — — help ‘ diyerek kontrol edebilirsiniz.

Top komutu; çalışan, aktif gerçek zamanlı tüm işlemleri sıralı bir listede görüntülemek ve düzenli olarak güncellemek için kullanılır. CPU kullanımı, bellek kullanımı, önbellek boyutu, arabellek boyutu, işlem PID(process id)’si, kullanıcı ve komutlar olmak üzere detaylı bir çıktı sağlar. Çalışan işlemlerin yüksek bellek ve işlemci kullanımını gösterdiği için, CPU’nun yüksek olduğu durumlarda işletim sistemini yoran komutu bulmanıza yardımcı olacaktır.

Virtual Memory Statistics
vmstat
komutuyla; sanal belleğinizi, kernel thread’lerini, diskinizi, system süreçlerinizi, I/O bloklarını, kesintileri, CPU aktivitelerini ve daha fazlasını görebilirsiniz.
Varsayılan olarak vmstat komutu Linux sistemlerinde mevcut değildir, bu nedenle sysstat paketini kurmanız gerekir. Aşağıdaki komutla hızlıca kurabiliriz, sonrasında `vmstat`diyerek çıktısına bir göz atalım.

yum install sysstat

List Open Files
lsof
komutu, tüm açık dosyaların ve işlemlerin bir listesini görüntülemek için kullanılır. Bu açık dosyalar şunları içerir; disk files, network sockets, pipes, devices, ve processes.

Bu komutu kullanmanın ana nedenlerinden biri, bir diskin bağlantısının kesilememesi ve dosyaların kullanıldığı veya açıldığı hatasını göstermesidir. Bu komut ile hangi dosyaların kullanımda olduğunu kolayca belirleyebilirsiniz. Lsof komutunu kullanmak için paketi aşağıdaki gibi indirip, sonrasında kullanabilirsiniz.

yum install lsof

Network Packet Analyzer
tcpdump
bir ağ üzerinden belirli bir arabirimde alınan veya aktarılan TCP/IP paketlerini yakalamak veya filtrelemek için kullanılan en yaygın komut satırı ağ paket çözümleyicisi veya paket algılayıcı programlarından biridir.
`ip a` diyerek network’leri görebilirsiniz. Komut bulunamadı hatası alırsanız aşağıdaki paketi yükleyebilirsiniz.

yum install -y iproute2 (ubuntu için)
yum install tcpdump (centos için)

//docker0 ağını kontrol etmek istediğinizi varsayarsak, aşağıdaki gibi bir komutla kontrol edebiliriz.

tcpdump -i docker0

//Çıktısı aşağıdaki gibi olacaktır ve aktarılan paketler yazılmaya başlayacaktır:*

Network Statistics
netstat
, gelen ve giden ağ paketleri istatistiklerinin yanı sıra, arayüz istatistiklerini izlemek için yararlı bir komuttur.Ağ performansını izlemek ve sorunları gidermek için sıklıkla kullanılır. Paket yüklü değilse ‘ yum install net-tools -y ’ diyerek yükleyebilirsiniz. Bu komut için bir çok kullanım mevcuttur. Örneğin aktif connection’ları görmek isterseniz
netstat -an ’ diyebilirsiniz.

Aynı şekilde TCP istatistiklerini görmek isterseniz ‘ netstat -st ‘ diyebilirsiniz.

Monitor, collect and report Linux system activity
Açılımı Sistem Faaliyet Raporu olan ‘ sar ‘ komutu, çeşitli sistem yüklerini raporlamak için kullanılan bir Unix Sistem izleme komutudur. CPU aktivitesi, bellek / çağrı, kesintiler, cihaz yükü, ağ ve takas alanı kullanımını gibi verileri içerir. Örnek kullanımları aşağıdaki gibidir.

sar -n DEV | more // network counter görüntülüme
sar -n DEV -f /var/log/sa/sa24 | more // son 24 saatteki network counter görüntüleme
sar 4 5 //veya real time verileri görüntülemek için

Linux Process Monitoring
`htop`, *top* komutuna çok benzemesinin yanı sıra, süreçleri yönetmek için kullanıcı dostu bir arayüz, kısayol tuşları, süreçlerin dikey ve yatay görünümleri gibi bazı zengin özelliklere sahip, çok gelişmiş etkileşimli ve gerçek zamanlı bir Linux süreç izleme aracıdır. Htop aracı, linux dağıtımlarında default olarak gelmez, bu yüzden ‘ yum install htop ‘ diyerek kurmanız gerekir.

Monitor Linux Disk I/O
`iotop` komutu, *top* ve *htop* komutuna benzer fakat gerçek zamanlı Disk I/O ve işlemleri izlemek
için bir hesaplama fonksiyonuna sahiptir. Default olarak gelmez bu nedenle, ‘ yum install iotop ‘ diyerek kurmanız gerekir.

Input/Output Statistics
`iostat`, sistem giriş ve çıkış depolama aygıtı istatistiklerini toplayacak ve gösterecek basit bir araçtır. Bu komut genellikle cihazlar, yerel diskler ve NFS gibi uzak diskler dahil olmak üzere depolama cihazı performans sorunlarını izlemek için kullanılır. Komut yoksa, ‘ sysstat ‘ paketini kurarak kullanabilirsiniz. Aşağıda sda, sdb diskleri için giriş/çıkış verilerini görebilirsiniz.

Real-Time IP LAN Monitoring
`iptraf `, Linux için açık kaynaklı bir konsol tabanlı gerçek zamanlı ağ (IP LAN) izleme aracıdır. TCP bayrak bilgileri, ICMP ayrıntıları, TCP/UDP trafik arızaları, TCP bağlantı paketi ve bayt sayıları dahil olmak üzere ağ üzerinden geçen IP trafiği izleme gibi çeşitli bilgileri toplar.

Monitor User Activity
`psacct` veya `acct` komutları, kullanıcıların sistemdeki etkinliğini izlemek için kullanılır.
Bu komutlar, sistem yöneticilerinin her bir kullanıcının ne yaptığı, hangi komutları verdiği, ne kadar kaynak kullandıkları, sistemde ne kadar süre aktif oldukları gibi etkinliklerini izlemesi için çok kullanışlıdır. Aşağıdaki komutla kurup, sonrasında kullanabilirsiniz.

node1 $ yum install acct 
node1 $ ac -d
July 4 total 0.25
Today total 10.75

Monitor multiprocessor usage on Linux
`mpstat` komutu, ilk işlemci 0 olmak üzere, kullanılabilir her işlemci için etkinlikleri görüntüler. işlemci başına ortalama CPU kullanımını görüntülemek için ‘ mpstat -P ALL ‘ diyebilirsiniz.

Monitor process memory usage on Linux
`pmap` komutu, bir işlemin bellek haritasını rapor eder. Bellek darboğazlarının nedenlerini bulmak için ‘ pmap -d PID(process id) ‘ şeklinde komutu kullanabilirsiniz. Örnek bir çıktı aşağıdaki gibi olacaktır.

Şimdilik bu makalemin sonuna geliyorum. Devamı için takipte kalın :)

--

--