Linux'ta Performans Takibi için Kullanabilecek Komutlar

YoRuMSuZ

Biz işimize bakalım...
Sistem ve Network(Ağ) yöneticileri için, her gün Linux Sistem Performans takibi ve bakımı oldukça zor bir iştir. IT sektöründeki Linux yöneticileri bu konuda hemfikirdir. Bu makalede Linux/Unix Sistem Yöneticileri tarafından sıklıkla kullanılan sistem (performans) izleme araçları hakkında bilgi vereceğiz. Sistem izleme ve sistemde performans problemlerinin tespiti için kullanılan bu yazılımlar tüm Linux dağıtımlarında mevcuttur.

linux-komut-1.webp

Sistem analiz ve izleme metodunuza göre bu yazılımlardan bir veya birkaçını kullanabilirsiniz.

1. top
: Sistem yöneticileri tarafından sistem performansını izlemek için en çok kullanılan yazılımlardan biridir ve birçok Linux/Unix işletim sisteminde sistem kurulumu ile hazır gelir. Sistemde çalışan ve aktif olan işlemleri ve hizmetleri sıralı olarak ve belli zaman aralığında güncelleyip listeler. CPU(İşlemci) kullanımı, Memory(Hafıza-RAM) kullanımı, Swap, Process PID gibi donanım kaynaklarının kullanımı, çalışan işlemler/hizmetler vb. bilgileri gösterir. İşlemci ve RAM belleği fazla kullanan işlemleri de görüntüler. top komutu sistem yöneticilerinin sistemi izlemek ve gerektiğinde doğru aksiyonu almak için kullandığı çok önemli bir programdır. Kullanımı ile ilgili birkaç örnek;

İşlemler/hizmetler, memory(hafıza), cpu(işlemci), swap gibi bilgileri görüntülemek için, Terminal’den top komutunu verin.
linux-komut-2.webp

Bilgileri renkli olarak görüntülemek için, program çalışırken z tuşuna basın, çıkmak için q tuşuna basın.
linux-komut-3.webp

Belli kullanıcıya ait işlemleri görüntülemek için top -u <kullanıcı adı> şeklinde kullanın.
linux-komut-4.webp

Çalışan işlemlerin sistem yolunu görüntülemek için, program çalışırken c tuşuna basın.
linux-komut-5.webp

Çalışan herhangi bir hizmeti/işlemi sonlandırmak için, program çalışırken k tuşuna basıp sonlandırmak istediğiniz işlemin PID kodunu girin ve Enter tuşuna basın,-.
linux-komut-6.webp

CPU (işlemci) kullanımına göre işlemleri/hizmetleri sıralamak için, program açıkken (Shift+P) tuş kombinasyonunu kullanın.

Çalışan bir işlemin/hizmetin önceliğini değiştirmek için, program açıkken r tuşuna basın ve işlemin PID kodunu girip Enter tuşuna basın.
linux-komut-7.webp

top komutu yardım sayfasını görüntülemek için, program açıkken h tuşuna basın.
linux-komut-8.webp


Kaynak: Alıntıdır...
 
2. vmstat : Disk, hafıza, cpu, I/O blokları gibi sistem işlemleri/hizmetleri ve donanım kaynaklarının kullanımı ile ilgili istatistikleri görüntülemek için kullanılır. Bu komutun kullanılabilmesi için sysstat paketinin sistemde kurulu olması gerekir. Uygulama, sistem kullanım bilgilerini 6-başlık şeklinde listeler. En önemlileri memory başlığı altındaki free ve swap kolonunda bulunan si, so alanlarıdır.
linux-komut-9.webp

  • free – Kullanılmayan/boşta olan bellek/ram miktarı
  • si – Diskten , takas alanı olarak saniyede kullanılan alanın Kilo Byte olarak boyutu.
  • so – Diske saniyede iade edilen/boşa çıkan takas alanının Kilo Byte olarak boyutu.
Herhangi bir parametre olmaksızın kullanırsanız, sistemin boot edildiği/başlatıldığı andan itibaren sistem istatistiğinin özetini gösterir.

Aşağıdaki komut ile vmstat komutunu 2 saniyelik aralıklarla 6 defa çalıştırabilirsiniz.
linux-komut-10.webp

-t seçeneği kullanılırsa her satırda, komutun çalıştırıldığı tarihi/saati de gösterir.
linux-komut-11.webp

-s seçeneği ile sistemdeki işlemler/hizmetler ve bellek ile ilgili istatistiği görüntüleyebilirsiniz.
linux-komut-12.webp

-d seçeneği ile sistemdeki disklerin istatistiğini görüntüleyebilirsiniz.
linux-komut-13.webp

-S ve M parametreleri ile istatistik verilerini Megabyte olarak görüntüleyebilirsiniz.
linux-komut-14.webp
 
3. lsof : LiSt Open Files (Açık Dosyaları Listele) ifadesinin kısaltılmış şekli ile isimlendirilen yazılım, herhangi bir işlem/hizmet tarafından açılmış dosyaları bulmak ve listelemek için kullanılır. Bildiginiz gibi Linux herşeyi dosya olarak dikkate alır ve dosyalarla (disk files, network sockets, pipes, processes, devices) düzenler. Bazı dosyaların açık veya kullanımda olduğu şeklinde bir hata nedeniyle bir diski sistemden unmount edemediğinizde (dosya sisteminden çıkaramadığınızda) lsof komutu ile açık olan veya kullanımda olan dosyaları ve hangi işlem/hizmet tarafından açıldığını/kullanıldığını görüntüleyebilirsiniz.

Terminalden lsof komutunu girildiğinde Command, PID, USER, FD, TYPE vb. başlıkları şeklinde verileri listeler.
linux-komut-15.webp

Başlıklar ve verileri açıklayıcı ve anlaşılırdır. Bununla birlikte FD ve TYPE başlıkları ile ilgili biraz daha bilgi paylaşacağız.

FD File Descriptor (Dosya açıklayıcı) ifadesinin kısaltılmış şeklidir. Başlık altındaki bazı değerlerin açılımı ve açıklamaları şöyle;
  • cwd current working directory – sisteme login olan kullanıcının bulunduğu klasör
  • rtd root directory – root klasörü
  • txt program text (code and data) – text tabanlı program (kod ve veri)
  • mem mem-mapped file
1u şeklinde rakam ve devamında u,r,w harfleri olan değerler/parametreler, dosya tanımlayıcılardır.
  • r – for read access – okuma izni olan dosya
  • w – for write access – yazma izni olan dosya
  • u – for read and write access – okuma ve yazma izni olan dosya
TYPE – Dosya tipi ve kimliği
  • DIR DIRectory – Klasör
  • REG REGular file – Dosya
  • CHR CHaracteR special file
  • FIFO First In First Out
Belli bir kullanıcıya ait açık/kullanılan dosyaları görüntülemek için –u <kullanıcı adı> opsiyonunu kullanın.
linux-komut-16.webp

Belli bir portta çalışan işlemlerin/hizmetlerin kullandığı açık dosyaları bulmak için –i opsiyonu, ardından protokol:Port numarası kombinasyonu kullanılır.
linux-komut-17.webp

Açık ve kullanılan IPv4 ve IPv6 network dosyalarını ayrı komutlarla görüntüleyebilirsiniz.
linux-komut-18.webp

1 ile 1024 (1-1024) arasındaki TCP portlarında çalışan ve aktif işlemler/hizmetler tarafından kullanılan ve açık olan dosyaları listelemek için, -i TCP:1-1024 opsiyonlarını kullanın.
linux-komut-19.webp

1 ile 1024 (1-1024) arasındaki TCP portlarında çalışan ve aktif işlemler/hizmetler tarafından kullanılan ve açık olan dosyaları listelemek için, -i TCP:1-1024 opsiyonlarını kullanın.
linux-komut-20.webp

Herhangi bir kullanıcının çalıştırdığı işlemin/hizmetin kullandığı/açık olan dosyaları görüntülememek için, –i -u^<kullanıcı adı> seçeneklerini kullanın.
linux-komut-21.webp

Herhangi bir kullanıcının hangi komutu kullandığını ve hangi dosyaları görüntülediğini listelemek için -i -u <kullanıcı adı> seçeneklerini kullanın.
linux-komut-22.webp

Sadece –i ile LISTENING ve ESTABLISHED durumundaki tüm network bağlantılarını görüntüleyebilirsiniz.
linux-komut-23.webp

-p parametresini kullanarak işlemin/hizmetin PID kodu ile sorgulama yaparak kullandığı dosyaları listeleyebilirsiniz.
linux-komut-24.webp

Belli bir kullanıcıya ait işlemlerin/hizmetlerin sadece PID kodlarını görüntülemek için -t –u <kullanıcı adı> seçenekleri ile sorgulama yapabilirsiniz.
linux-komut-25.webp
 
4. tcpdump : Yaygın olarak kullanılan network paket analiz ve network paket izleme yazılımıdır. Ağ arayüzü ile network üzerinden gönderilen ve alınan TCP/IP paketlerini filtrelemek veya yakalamak için kullanılır. Yakaladığınız network paketlerini daha sonra incelemek için pcap formatında bir dosyada kaydedebilirsiniz. Birçok Linux/Unix tabanlı işletim sisteminde mevcuttur.

Yazılım, yüklenmemiş ise kullandığınız Linux dağıtımının paket yöneticisi ile kurabilirsiniz.

linux-komut-26.webp

linux-komut-27.webp

Yukarıdaki komutu çalıştırdığınızda tcpdump, işlemi iptal edene kadar belirtilen arayüzde bütün paketleri yakalamaya devam eder. İşlemi iptal etmek için CTRL + C tuş kombinasyonunu kullanın.

-c opsiyonunu ile yakalanacak paket sayısını belirleyebilirsiniz.
linux-komut-28.webp

Yakalanan paketi ASCII formatında görüntülemek için –A seçeneğini kullanın.
linux-komut-29.webp

Sistemdeki ag arayüzlerini görüntülemek için –D seçeneğini kullanın.
linux-komut-30.webp

Herbir paketdeki, TCP/IP Link katmanı başlığını-header- içeren, veriyi-data- HEX ve ASCII formatında görüntülemek için –XX seçeneğini kullanın.
linux-komut-31.webp

Yakalanan paketleri .pcap formatında dosyaya kaydetmek için –w opsiyonunu kullanın.
linux-komut-32.webp

Kaydedilen dosyada yakalanan paketleri okumak ve analiz etmek için –r dosya adı.pcap opsiyonunu ve parametresini kullanın.
linux-komut-33.webp

Belli bir ağ arayüzündeki IP adres paketlerini yakalamak için –n seçeneğini kullanın.
linux-komut-34.webp

Sadece TCP paketlerini yakalamak için, tcp parametresini kullanın.
linux-komut-35.webp

Sadece belli bir portun ağ trafiğindeki –mesela port 22- paketleri yakalamak için port <port no> parametrelerini kullanın.
linux-komut-36.webp

Belli bir kaynak(source) IP adresinin paketlerini yakalamak için src <IP adres> parametrelerini kullanın.
linux-komut-37.webp

Belli bir hedef(destination) IP adresinin paketlerini yakalamak için dest <IP adres> parametrelerini kullanın.
linux-komut-38.webp
 
5. netsat : netstat (network statistics) gelen ve giden network paketleri(veya bağlantıları), ağ arayüzleri, yönlendirme tabloları (routing tables) istatistiklerini izleyen yazılımdır. Bütün Linux/Unix işletim sistemlerinde ve Windows işletim sisteminde bulunur. Sistem yöneticilerinin ağ performansı izleme ve ağ sorunlarını gidermek için kullandığı çok önemli bir programdır. netstat, hangi portların açık olduğunu ve hangi programların açık olan portlarda gelen bağlantılar için dinlemede olduğunu gösteren, en temel ağ izleme yazılımıdır.

Linux network yöneticileri kadar Linux sistem yöneticilerinin de ağ problemlerini tespit etmek ve gidermek, ağ trafik performansını izlemek ve belirlemek için kullandıkları çok önemli bir programdır.

LISTENING durumundaki tüm TCP ve UDP port bağlantılarını görüntülemek –a seçeneğini kullanın.
linux-komut-39.webp

Sadece TCP port bağlantılarını görüntülemek için netstat –at komutunu kullanın.
linux-komut-40.webp

Sadece UDP port bağlantılarını görüntülemek için netstat –au komutunu kullanın.
linux-komut-41.webp

LISTENING durumundaki tüm aktif port bağlantılarını görüntülemek için netstat -l komutunu kullanın.
linux-komut-42.webp

LISTEN durumundaki tüm aktif TCP portlarını görüntülemek için netstat –lt komutunu kullanın.
linux-komut-43.webp

LISTEN durumundaki tüm aktif UDP portlarını görüntülemek için netstat –lu komutunu kullanın.
linux-komut-44.webp

LISTENING durumundaki tüm aktif UNIX portlarını görüntülemek için netstat –lx komutunu kullanın.
linux-komut-45.webp

-s seçeneğini kullanarak TCP, UDP, ICMP ve IP protokolleri için istatistikleri görüntüleyebilirsiniz.
linux-komut-46.webp

Sadece TCP protokolüne ait istatistiklerini görüntülemek için netstat –st komutunu kullanın.
linux-komut-47.webp

Sadece UDP protokolüne ait istatistikleri görüntülemek için netstat –su komutunu çalıştırın.
linux-komut-48.webp

Servis adını PID numarası ile “PID/Program Name” formatında göstermek için netstat –tp komutunu çalıştırın.
linux-komut-49.webp

-ac seçenekleri ile istenilen bilgiler belli zaman aralığında(saniye olarak) güncellenerek ekranda listelenebilir.
linux-komut-50.webp

Kernel IP yönlendirme tablosunu (Kernel IP routing table) netstat ve route komutunu kullanın.
linux-komut-51.webp

Sistemdeki ağ arayüzlerinde gönderilen ve alınan paketleri, MTU boyut bilgisi ile görüntülemek için netstat –i komutunu kullanın.
linux-komut-52.webp

Kernel arayüz tablosunu (Kernel interface table) görüntülemek için netstat –ie komutunu kullanabilirsiniz; ifconfig komutu ile aynı işlevselliğe sahiptir.
linux-komut-53.webp

IPv4 ve IPv6 bilgilerini görüntülemek için netstat –g komutunu kullanın.
linux-komut-54.webp

Belli zaman aralığında (saniye olarak) netstat bilgilerini sürekli olarak listelemek için netstat –c komutunu kullanın.
linux-komut-55.webp

Sistem tarafından desteklenmeyen adresleri görüntülemek için netstat –verbose komutunu çalıştırın.
linux-komut-56.webp

Herhangi bir portta LISTEN/LISTENING durumunda olan programları listelemek için netstat –ap | grep <program> komutunu çalıştırın.
linux-komut-57.webp

RAW Network(Ağ) İstatistiklerini görüntülemek için netstat –statistics –raw komutunu çalıştırın.
linux-komut-58.webp
 
6. htop : İnteraktif ve gerçek zamanlı (real time) Linux işlem/servis izleme aracıdır. İşlevsellik olarak top komutuna benzemekle birlikte, işlemleri yönetmek için kullanıcı dostu arayüzü, klavye kısayolları, işlemleri yatay ve dikey olarak listeleyebilme vb. birçok extra özelliği vardır. 3. parti yazılımdır ve Linux sistemleri ile birlikte hazır kurulu gelmez; kullanılan dağıtımın paket yöneticisi ile kurulması gerekir.

linux-komut-59.webp

Kurulumdan sonra terminalden htop komutunu vererek programı çalıştırabilirsiniz; t tuşuna basarak işlemleri ağaç görünümü formatında listeleyebilirsiniz.
linux-komut-60.webp

linux-komut-61.webp

  • Uygulamanın üst kısmında CPU, Memory, Swap, load average, Up-time baslıkları bulunur. Bu başlıkların bulunduğu kolonlar sırası ile CPU kullanımı, Swap kullanımı, Sistem load average durumu, Sistemin çalıştığı/açık olduğu süre bilgilerini içerir.
  • İşlemler/servisler CPU kullanımına göre sıralanır.
  • Program ekranın alt kısmında ise help, setup, kill, nice, quit menüler ve klavye kısayolları bulunur.
 
7. iotop : top komutuna ve htop programına benzer fakat, fonksiyonellik olarak diskte okuma-yazma (Disk I/O) yapan işlemleri/servisleri gerçek zamanlı olarak izler ve görüntüler. Diskte yüksek miktarda/oranda okuma-yazma (I/O) yapan işlemleri/servisleri tespit etmek için çok faydalı bir yazılımdır. Sistem, yönetici hesabı/oturumu ile çalıştırılmasına izin verir.

linux-komut-62.webp

Sadece aktif disk yazma/okuma yapan işlemleri/servisleri görüntülemek için —only veya -o seçeneklerini kullanın.
linux-komut-63.webp

Kullanımı ve klavye kısayolları ile ilgili bazı önemli bilgiler:

  • Sıralamayı değiştirmek için sağ veya sol yön(ok) tuşlarını kullanın
  • Uygulamanın versiyonunu görmek için –version seçeneğini kullanın
  • Kullanım bilgisini görüntülemek için –h seçeneğini kullanın
  • Sıralamayı ters çevirmek için –r opsiyonunu kullanın
  • Servisleri ve thread işlemleri kontrol etmek için –o opsiyonunu kullanın,
  • Interaktif olmayan moda geçmek ve disk okuma-yazma (I/O) kullanımının log girişlerini etkinleştirmek için –b seçeneğini kullanın
  • PID numarasına sahip herhangi bir servisin/thread-işlemin disk I/O kullanımını izlemek için –p PID seçeneği ve parametresini kullanın.
linux-komut-64.webp

USER kullanıcısına ait işlemlerin/servislerin disk I/O kullanımını izlemek için –u USER seçeneğini ve parametresini kullanın.
linux-komut-65.webp

Normalde iotop tüm thread ve işlemleri gösterir. Sadece işlemleri listelemek için –P seçeneğini kullanın.

Disk I/O kullanım band genişliğini izlemek yerine, kullanım değerlerinin toplamını izlemek için –a seçeneğini kullanın.
linux-komut-66.webp
 
8. iostat : CPU (işlemci) istatistiğini ve yerel diskler, NFS diskler vb. depo(lama) aygıtlarının sistem girdi(input) ve çıktı(output) (disk okuma-yazma) bilgisini ve istastiğini görüntüler. Uygulamanın kullanılabilmesi için sistemde sysstat yazılımın yüklü olması gerekir.

linux-komut-67.webp

Sadece işlemci (CPU) istatistiğini görüntülemek için -c parametresini kullanın.
linux-komut-68.webp

Sadece sistemdeki disklerin ve disk bölümlerinin I/O (disk okuma-yazma) istatistiğini görüntülemek için -d parametresini kullanın.
linux-komut-69.webp

Sistemdeki sadece belli bir (hard) diskin I/O (disk okuma-yazma) istatistiğini görüntülemek için -p parametresi ile birlikte, hard diskin sistem ismini kullanın.
linux-komut-70.webp

Sadece, LVM(Logical Volume Manager) istatistiğini görüntülemek için, -N parametresini kullanın.
linux-komut-71.webp

İostat yazılımın versiyonu görüntülemek için -V parametresini kullanın.
linux-komut-72.webp
 
9. IPTraf : Gerçek zamanlı-anlık olarak- (real time) ağ izleme yapılabilen konsol tabanlı, açık kaynak kodlu yazılımdır. Ağ arayüzü TCP, UDP, IP, ICMP istatistiklerini; IP checksum hatalarını, TCP bağlantı ve byte sayısını, TCP flag bilgisini, ICMP ayrıntılarını, TCP/UDP trafiği analizini, ağ üzerindeki IP trafiği bilgilerini görüntüler. Birçok dağıtımın paket depolarında bulunur. Kullanımını göstermeden önce, uygulamayı sisteme kuruyoruz.

linux-komut-73.webp

linux-komut-74.webp

IP trafiği izleme
linux-komut-75.webp

linux-komut-76.webp

Ağ arayüzü istatistikleri
linux-komut-77.webp

linux-komut-78.webp

Detaylı, ağ arayüzü istatistikleri
linux-komut-79.webp

linux-komut-80.webp

TCP/UDP (port) analizi istatistikleri
linux-komut-81.webp

LAN trafiği izleme
linux-komut-82.webp

Program ayarları
linux-komut-83.webp
 
10. psacct : Sistemdeki kullanıcıların aktivitelerini izlemek için kullanılır. Kullanıcı ait işlemleri, arka planda çalışan servisleri ve bunların sistem kaynakları kullanımını izler. Sistem yöneticileri tarafından, sistem kullanıcılarının yaptığı işlemleri, çalıştırdığı komutları, sistem kaynaklarını kullanım bilgisini, sistemde ne kadar süre aktif olduğu gibi bilgileri izlemek ve görüntülemek için kullandığı çok faydalı bir programdır.
  • ac komutu, kullanıcı login/logout süresi istatistiklerini saat birimde görüntüler.
  • lastcomm komutu , kullanıcı tarafından çalıştırılan komutları görüntüler.
  • accton komutu, işlemleri/servisleri kapatmak/açmak için kullanılır.
  • sa komutu, kullanıcı tarafından çalıştırılan komutların özet bilgisini görüntüler.
  • last ve lastb komutları, sisteme en son giriş yapan kullanıcı bilgilerini görüntüler.
psacct ve acct, aynı uygulamalardır. psacct RHEL, CentOS, Fedora dağıtımlarında mevcut olan; acct ise Ubuntu, Debian, Mint dağıtımlarında bulunan pakettir.

rpm tabanlı dağıtımlarda yüklemek için.
linux-komut-84.webp

linux-komut-85.webp

Debian/Ubuntu/Mint dağıtımlarında kurmak için.
linux-komut-87.webp

Kurulum sonrasında psacct servisi devredışıdır. Manuel olarak servisi başlatıyoruz ve sistem başlatıldığında başlaması için servisi etkinleştiriyoruz.
linux-komut-88.webp

linux-komut-89.webp

linux-komut-90.webp

ac komutu, kullanıcıların saat biriminde toplam login/logout sürelerinin istatistiğini gösterir.
linux-komut-91.webp

Kullanıcıların her bir gün sistemde login oldukları toplam süreleri görüntülemek için, ac –d komutunu kullanın.
linux-komut-92.webp

Sistemde login olunan kullanıcı hesabının sistemdeki login olarak bulunduğu toplam süre (saat olarak).
linux-komut-93.webp
 
Geri
Top