Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Linux'ta Süreç Yönetimi: ps, top, kill Komutları ile Performans İzleme ve Müdahale

thecoder

Üye
Katılım
14 Mart 2026
Mesajlar
27
Merhaba arkadaşlar, bugün sizlere Linux sunucularımızın kalbi diyebileceğimiz süreç yönetiminden bahsedeceğim. Özellikle yeni başlayan sistem yöneticileri, sunucuda bir sorun olduğunda veya performans düştüğünde nereden başlayacaklarını bilemeyebiliyor. Bu rehberde, ps, top ve kill komutlarını kullanarak süreçleri nasıl izleyeceğinizi, analiz edeceğinizi ve gerektiğinde nasıl müdahale edeceğinizi adım adım anlatacağım. Bu bilgiler, sunucunuzdaki kaynak canavarlarını bulmanızı ve sisteminizi daha sağlıklı yönetmenizi sağlayacak.

📊 Süreç Nedir ve Neden Önemlidir?

Linux'ta çalışan her program bir süreçtir. Her süreç, işlemci (CPU), bellek (RAM) ve giriş/çıkış (I/O) gibi sistem kaynaklarını tüketir. Sunucunuz yavaşladığında veya cevap vermemeye başladığında, genellikle arka planda kontrolsüzce kaynak tüketen bir süreç vardır. İşte bu noktada süreç yönetimi devreye giriyor.

🔍 ps Komutu: Süreçleri Anlık Görüntüleme

ps komutu, o an çalışan süreçlerin anlık bir görüntüsünü (snapshot) verir. En temel kullanımı ps aux şeklindedir. Bu komut, tüm kullanıcılara ait tüm süreçleri detaylı bir şekilde listeler.

Bash:
ps aux

Çıktıdaki önemli sütunlara bakalım:
USER: Süreci çalıştıran kullanıcı.
%CPU: Sürecin işlemci kullanım yüzdesi.
%MEM: Sürecin bellek kullanım yüzdesi.
COMMAND: Çalıştırılan komut.

Örneğin, CPU kullanımına göre sıralamak için ps aux çıktısını sort komutu ile birlikte kullanabiliriz. Benim sık kullandığım yöntem şudur:

Bash:
ps aux --sort=-%cpu | head -10

Bu komut, CPU'yu en çok tüketen ilk 10 süreci gösterir. Bellek için --sort=-%mem kullanabilirsiniz.

📈 top/htop Komutu: Canlı Performans İzleme

ps anlık görüntü verirken, top komutu sistem kaynaklarını ve süreçleri canlı olarak izlemenizi sağlar. Komutu çalıştırdığınızda interaktif bir ekran açılır.

Bash:
top

top ekranının üst kısmında sistem geneli CPU, bellek, swap kullanım bilgileri, alt kısmında ise süreç listesi bulunur. Varsayılan olarak CPU kullanımına göre sıralanır.
top içindeyken bazı kullanışlı tuşlar:
M: Süreçleri bellek (RES) kullanımına göre sıralar.
P: CPU kullanımına göre sıralar (varsayılan).
k: Bir süreci sonlandırmak (kill) için PID (Süreç ID) girmenizi ister.
q: Çıkmak için.

Eğer daha renkli ve kullanışlı bir arayüz istiyorsanız, htop kurmanızı şiddetle tavsiye ederim. Kurulumu ve kullanımı çok daha kolaydır.

Bash:
sudo apt install htop  # Debian/Ubuntu
sudo yum install htop  # RHEL/CentOS

⚠️ kill Komutu: Süreçleri Sonlandırma

Kontrolsüz bir süreç bulduğunuzda, onu sonlandırmanız gerekebilir. Burada kill komutu devreye giriyor. Ancak şu ayara çok dikkat etmelisiniz: kill komutu sadece PID (Süreç Numarası) ile çalışır. PID'yi ps veya top komutundan öğrenebilirsiniz.

Temel kullanım: kill [SİNYAL] [PID]
En yaygın sinyaller:
SIGTERM (15): Nazikçe sonlandırma isteği gönderir. Varsayılan sinyaldir. Önce bunu deneyin.
SIGKILL (9): Acil durum sinyali. Süreci anında, temizlik yapmadan sonlandırır. Son çare olarak kullanın.

Örnek 1: Bir süreci nazikçe sonlandırmak (PID 1234 olsun):
Bash:
kill 1234
# veya
kill -15 1234

Örnek 2: Süreç yanıt vermiyorsa, zorla sonlandırmak:
Bash:
kill -9 1234

UYARI: kill -9'u gereksiz yere kullanmak, açık dosyaların kaydedilmemesine veya veri bozulmasına neden olabilir. Önce kill -15 deneyin.

Eğer sürecin ismini biliyorsanız, PID ile uğraşmak yerine pkill komutunu da kullanabilirsiniz. Örneğin, "mybuggyapp" isimli süreci sonlandırmak için:
Bash:
pkill mybuggyapp

💎 Pratik Senaryo: Sunucu Yavaşladı, Ne Yapmalıyım?

Benim sunucularda genelde takip ettiğim pratik akış şöyledir:
1. Önce top veya htop komutunu çalıştırıp genel duruma bakıyorum. CPU veya RAM'de tıkanma var mı?
2. Hangi kullanıcı/kullanıcıların süreçleri sorunlu, ona bakıyorum.
3. ps aux --sort=-%cpu | head -5 ile en çok CPU yiyen kesin süreçleri teyit ediyorum.
4. Eğer bir süreç kontrol dışıysa, önce kill [PID] ile nazikçe sonlandırmayı deniyorum.
5. Yanıt vermezse, son çare kill -9 [PID] kullanıyorum.
6. Sürecin neden kontrol dışına çıktığını loglardan (/var/log/ altı) araştırıyorum.

Bu temel komutları öğrenmek, sunucu yönetiminde size büyük bir özgüven ve kontrol sağlayacaktır. Unutmayın, bir sistem yöneticisinin en önemli becerilerinden biri, sorunu hızlıca teşhis edip kaynağına müdahale edebilmektir.

Umarım bu rehber faydalı olmuştur. Siz bu konfigürasyonu kendi sunucularınızda nasıl yapıyorsunuz? top yerine farklı bir araç mı kullanıyorsunuz? Ya da süreç takibinde başka püf noktalarınız var mı? Sorusu olan veya eklemek isteyen aşağıya yazsın, beraber tartışalım.
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri