Neler yeni

Linux Isletim Sisteminde Sistem Performans Takibi

Mehmetkarahanlı

Özel Üye
Özel Üye
Katılım
19 Haz 2016
Mesajlar
8,484
Beğeniler
70
#1


Linux Isletim Sisteminde Sistem Performans Takibi icin Komut Satırından Kullanabileceginiz Araclar/Yazılımlar Sistem ve Network(Ağ) yöneticileri için, hergü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 icin kullanılan bu yazılımlar tüm Linux dağıtımlarında mevcuttur. 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,

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,

Belli kullaniciya ait işlemleri görüntülemek için top -u <kullanıcı adı> şeklinde kullanın,

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

Ç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 veEnter tuşuna basın,

CPU (işlemci) kullanımına göre işlemleri/hizmetleri sıralamak için, proğram açıkken (Shift+P) tuş kombinasyonunu kullanın.
Çalışan bir işlemin/hizmetin önceliğini değiştirmek için, proğram açıkken r tuşuna basın ve işlemin PID kodunu girip Enter tuşuna basın,

top komutu yardım sayfasını görüntülemek için, proğram açıkken h tuşuna basın,






 

Mehmetkarahanlı

Özel Üye
Özel Üye
Katılım
19 Haz 2016
Mesajlar
8,484
Beğeniler
70
#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 sysstatpaketinin 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.

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,
 

Mehmetkarahanlı

Özel Üye
Özel Üye
Katılım
19 Haz 2016
Mesajlar
8,484
Beğeniler
70
#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ğindeCommand, PID, USER, FD, TYPE vb. başlıkları şeklinde verileri listeler.

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,

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,

Açık ve kullanılan IPv4 ve IPv6 network dosyalarını ayrı komutlarla görüntüleyebilirsiniz,

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,

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,

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,

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,

Sadece –i ile LISTENING ve ESTABLISHED durumundaki tüm network bağlantılarını görüntüleyebilirsiniz,

-p parametresini kullanarak işlemin/hizmetin PID kodu ile sorgulama yaparak kullandığı dosyaları listeleyebilirsiniz,

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,
 

Mehmetkarahanlı

Özel Üye
Özel Üye
Katılım
19 Haz 2016
Mesajlar
8,484
Beğeniler
70
#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,


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,

Yakalanan paketi ASCII formatında görüntülemek için –A seçeneğini kullanın,

Sistemdeki ag arayüzlerini görüntülemek için –D seçeneğini kullanın,

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,

Yakalanan paketleri .pcap formatında dosyaya kaydetmek için –w opsiyonunu kullanın,

Kaydedilen dosyada yakalanan paketleri okumak ve analiz etmek için –r dosya adı.pcap opsiyonunu ve parametresini kullanın,

Belli bir ağ arayüzündeki IP adres paketlerini yakalamak için –n seçeneğini kullanın,


Sadece TCP paketlerini yakalamak için, tcp parametresini kullanın,

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

Belli bir kaynak(source) IP adresinin paketlerini yakalamak için src <IP adres> parametrelerini kullanın,

Belli bir hedef(destination) IP adresinin paketlerini yakalamak için dest <IP adres> parametrelerini kullanın,
 

Mehmetkarahanlı

Özel Üye
Özel Üye
Katılım
19 Haz 2016
Mesajlar
8,484
Beğeniler
70
#5
netsat –> netstat (networkstatistics) 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,

Sadece TCP port bağlantılarını görüntülemek için netstat –at komutunu kullanın,

Sadece UDP port bağlantılarını görüntülemek için netstat –au komutunu kullanın,

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

LISTEN durumundaki tüm aktif TCP portlarını görüntülemek için netstat –lt komutunu kullanın,

LISTEN durumundaki tüm aktif UDP portlarını görüntülemek için netstat –lu komutunu kullanın,

LISTENING durumundaki tüm aktif UNIX portlarını görüntülemek için netstat –lx komutunu kullanın,

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

Sadece TCP protokolüne ait istatistiklerini görüntülemek için netstat –st komutunu kullanın,

Sadece UDP protokolüne ait istatistikleri görüntülemek için netstat –su komutunu çalıştırın,

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

-ac seçenekleri ile istenilen bilgiler belli zaman aralığında(saniye olarak) güncellenerek ekranda listelenebilir,

Kernel IP yönlendirme tablosunu (Kernel IP routing table) netstat ve route komutunu kullanın,

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,

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,

IPv4 ve IPv6 bilgilerini görüntülemek için netstat –g komutunu kullanın,

Belli zaman aralığında (saniye olarak) netstat bilgilerini sürekli olarak listelemek için netstat –c komutunu kullanın,

Sistem tarafından desteklenmeyen adresleri görüntülemek için netstat –verbose komutunu çalıştırın,

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

RAW Network(Ağ) İstatistiklerini görüntülemek için netstat –statistics –raw komutunu çalıştırın,
 

Mehmetkarahanlı

Özel Üye
Özel Üye
Katılım
19 Haz 2016
Mesajlar
8,484
Beğeniler
70
#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 listeyebilme 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.
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,




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.
​
 

Mehmetkarahanlı

Özel Üye
Özel Üye
Katılım
19 Haz 2016
Mesajlar
8,484
Beğeniler
70
#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.
Sadece aktif disk yazma/okuma yapan işlemleri/servisleri görüntülemek için —only veya -o seçeneklerini kullanın,

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




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




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






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.

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

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,

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,

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

İostat yazılımın versiyonu görüntülemek için -V parametresini kullanın,