Автор темы
#1
Sed ile kaynak kullanımını izlemek
İlk olarak neyi hedeflediğimizi netleştirelim. Kaynak kullanımı, CPU ve bellek tüketimini süreç bazında görmek istiyorsak çoğu durumda farklı komutların birleşimini kullanırız. Ancak bazı basit durumlarda, komutların çıktısını tek bir akış içinde düzenlemek için sed’e ihtiyaç duyabiliriz. Örneğin ps tarafından üretilen sütunlu çıktıda istemediğiniz satırları temizlemek veya belirli alanları yeniden biçimlendirmek için sed’i akıllıca kullanabiliriz.
Birincil yaklaşım: ps ile süreç listesi ve sed ile filtreleme
Bu komut, tüm süreçleri CPU ve bellek kullanımlarına göre azalan sırayla listeler.
Örnek olarak başlık satırını koruyup geri kalan satırları sadeleştirmek için şu tarz bir işlem kullanabiliriz:
Bu, başlığı kaldırır ve birleştirilmiş boşlukları tek bir boşlukla normalleştirir.
İkinci yaklaşım: belirli süreçleri hedeflemek
Burada kök kullanıcıya ait süreçleri seçtiğimizde, çıktının geri kalanı göz ardı edilir.
İzlemeyi güçlendirmek için birleşik akışlar
Bu, ilk 20 satırı getirir ve fazladan boşlukları temizler; böylece okunabilirlik artar.
Dikkat edilmesi gereken noktalar
Bu basit örnekler üzerinden kendi sisteminizde hangi sütunları korumak istediğinizi, hangi satırları hariç tutacağınızı ve çıktıyı hangi biçimde görmek istediğinizi belirleyin. Sed ile kaynak kullanımını izlemek konusunda siz hangi düzenlemeleri yapmayı denediniz? Özellikle hangi çıktılar üzerinde daha çok ihtiyaç duyuldu?
Bu yazı, sistem kaynaklarının hangi süreçler tarafından nasıl tüketildiğini hızlı bir şekilde görmek ve basit senaryolarda sed kullanarak çıktıları temizlemek üzerine odaklanır. Özellikle tek başına ps veya top gibi araçlar yeterli olmadığında esnek bir metin işleme aracı olarak sed’i nasıl kullanabileceğinizi gösterir.
İlk olarak neyi hedeflediğimizi netleştirelim. Kaynak kullanımı, CPU ve bellek tüketimini süreç bazında görmek istiyorsak çoğu durumda farklı komutların birleşimini kullanırız. Ancak bazı basit durumlarda, komutların çıktısını tek bir akış içinde düzenlemek için sed’e ihtiyaç duyabiliriz. Örneğin ps tarafından üretilen sütunlu çıktıda istemediğiniz satırları temizlemek veya belirli alanları yeniden biçimlendirmek için sed’i akıllıca kullanabiliriz.
Birincil yaklaşım: ps ile süreç listesi ve sed ile filtreleme
- ps -eo pid,ppid,user,comm,%cpu,%mem --sort=-%cpu
Bu komut, tüm süreçleri CPU ve bellek kullanımlarına göre azalan sırayla listeler.
- Sed ile sütunlar arasında fazlalıkları temizlemek
Örnek olarak başlık satırını koruyup geri kalan satırları sadeleştirmek için şu tarz bir işlem kullanabiliriz:
КОД
1ps -eo pid,ppid,user,comm,%cpu,%mem --sort=-%cpu | sed '1d' | sed 's/^[ ]*//;s/[ ]\+/ /g'Bu, başlığı kaldırır ve birleştirilmiş boşlukları tek bir boşlukla normalleştirir.
İkinci yaklaşım: belirli süreçleri hedeflemek
- Belirli bir kullanıcı veya komutun çıktılarını izlemek için:
КОД
1ps -eo pid,user,comm,%cpu,%mem --sort=-%cpu | sed -n '/^root /p'Burada kök kullanıcıya ait süreçleri seçtiğimizde, çıktının geri kalanı göz ardı edilir.
İzlemeyi güçlendirmek için birleşik akışlar
- Belirli bir nitelikteki satırları almak ve alanları yeniden biçimlendirmek:
КОД
1ps -eo pid,user,comm,%cpu,%mem --sort=-%cpu | sed -n '1,20p' | sed 's/ \+/ /g'Bu, ilk 20 satırı getirir ve fazladan boşlukları temizler; böylece okunabilirlik artar.
Dikkat edilmesi gereken noktalar
- Sed, sütunlar arası sabit ayırıcılar varsayımıyla çalışır; farklı çıktılar için alanları yeniden tanımlamalısınız.
- Karmaşık filtreler için awk veya golü gibi araçlarla kombinasyon gerekebilir; sed tek başına bütün senaryolarda en temiz çözüm değildir.
- Merkezi log dosyaları veya uzun süreli izlemelerde sed’in akışa eklenen bir filtre olarak kullanılması, performansı etkileyebilir; gerektiğinde akış üzerinde daha hafif işlemler tercih edin.
Bu basit örnekler üzerinden kendi sisteminizde hangi sütunları korumak istediğinizi, hangi satırları hariç tutacağınızı ve çıktıyı hangi biçimde görmek istediğinizi belirleyin. Sed ile kaynak kullanımını izlemek konusunda siz hangi düzenlemeleri yapmayı denediniz? Özellikle hangi çıktılar üzerinde daha çok ihtiyaç duyuldu?
