PS ile uzun süredir çalışan süreçleri bulma

0 Antworten 12 Aufrufe
Bewertende
Teilnehmer
Themenersteller #1
İşletim sistemi üzerinde uzun süredir çalışan fakat bekleyen veya gereksiz yere kaynak tüketen süreçleri tespit etmek, performans ve güvenilirlik için kritik bir beceri. Bu yazı, özellikle PS komutlarının çeşitli seçeneklerini ve pratik kullanımlarını, gerçek dünyadan örneklerle adım adım ele alır. Başlangıçta temel argümanları hızlıca hatırlayalım, ardından farklı durumlar için filtreleme, sıralama ve otomasyon stratejilerini inceleyelim. Son olarak güvenilirlik için izleme döngülerine değinelim.


Giriş: Neden uzun süreli süreçleri incelemek gerekir
  • Uzun süredir çalışan süreçler, sistem yükünü ve yanıt süresini etkileyebilir. Özellikle arka planda çalışan daemonlar, yedekleme işlemleri veya yazılım güncellemeleri sırasında görünmez olabilir.
  • Kaynak kullanımı değişkenlik gösterir: CPU kullanımı sabit değildir, bellek sızıntıları veya I/O beklemeleri süreçleri yavaşlatır.
  • Sistem stabilitesi için periyodik denetim gerekir: hangi süreçlerin sistemden bağımsız olarak çalıştığını, hangi kullanıcılar tarafından başlatıldığını ve hangi durumlarda yeniden başlatılmaya ihtiyaç duyulduğunu bilmek önemlidir.


Pratik yaklaşım: ps ile temel ve ileri düzey tespit
1) Kule kadar temel süreci listelemek
  • ps -eo pid,user,etimes,comm,pcpu,pmem

Lisanslı olarak çalışan uzun süreli süreçlerin kimliklerini, ne kadar süre çalıştıklarını (etimes), CPU ve bellek kullanımını gösterir. Erişimi kolay ve hızlı bir başlangıç sağlar.

2) Uzun süreli bekleyen veya az kullanılan süreçleri bulma
  • ps -eo pid,ppid,user,stat,etimes,comm | awk '$7 ~ /^[TZ]|D/ {print}'

stat sütunundaki durum kodları aracılığıyla bekleyen ve ağır I/O yapan durumları ayırır. Özellikle I/O beklemesi veya durdurulmuş durumda olan süreçleri tespit etmek için kullanışlıdır.

3) Yaş ve maliyet odaklı filtreleme
  • ps -eo pid,etimes,user,pcpu,pmem,comm --sort=-etimes | head -n 20

En uzun süredir çalışan ilk 20 süreci gösterir; bu şekilde kronikleşmiş süreçleri hızlıca analiz edebilirsiniz.

4) Süreçlar arası karşılaştırma ve odaklar
  • ps -eo pid,uid,gids,etimes,comm | sort -k4 -n

Erişim sürelerini karşılaştırır ve hangi süreçlerin uzun oturumlar gibi davrandığını gösterir. Belirli kullanıcı veya grup bazında da inceleyebilirsiniz.

Kapsamlı inceleme için birkaç ipucu
  • Toplu bilgi için /proc tabanlı verilerle doğrulama yapın: ps ile elde edilen bilgiler genelde güvenilir olsa da bellek veya I/O aksaklıkları anlık göstergeler sunabilir; kritik sistemlerde /proc ve iostat gibi araçlarla çapraz kontrol önemlidir.
  • Zaman serisi izleme: Belirli bir süreci izlemek istiyorsanız ardışık ps çağrılarını zaman damgalarıyla kaydeden basit bir script kurun ve uzun süreli trendleri görün.
  • Otomasyon ve uyarı: belirli eşiklerin aşılması halinde uyarı üreten basit bir cron veya systemd timer ile otomasyon kurun; örnek olarak, 60 saniyede bir ps çalıştırıp top 5 CPU veya bellek tüketen süreçleri bildirmek işlevsel olur.


Kapanış
Bu tekniklerle uzun süredir çalışan süreçleri daha sistematik şekilde tespit edebilir, gerektiğinde müdahale planları üretebilirsiniz. Özellikle hangi durumlarda hangi filtrelemelerin işe yaradığını kendi ortamınızda test etmek, en güvenilir sonuçları getirir.

Sie müssen angemeldet sein, um zu antworten.

0 Zitate ausgewählt