Mövzunu Açan #1
prlimit ile Süreç Kaynak Sınırları

Giriş ve bağlam
Bir Linux sisteminde süreçlerin kullandığı kaynakları sınırlamak, kararlı bir çalışma ortamı için kritik olabilir. prlimit komutu, bir süreç için veya yeni başlatılacak bir süreç için kaynak sınırlarını ayarlamak adına kullanışlı bir araçtır. Bu araç sayesinde CPU süresi, bellek kullanımı, açık dosya tanıtıcıları gibi limitleri merkezi bir şekilde konfigüre edebilirsiniz. prlimit, ядro’nun ulimit ve setrlimit mekanizması üzerinde çalışan bir kullanıcı alanı yardımcı aracıdır ve çalışma zamanında esneklik sağlar.

Temel kavramlar ve kullanım yapısı
  • Kaynak sınırları: setrlimit sistemi çağrısının sağladığı sınırlardır. Bunlar soft (yumuşak) sınır ve hard (sert) sınır olarak ikiye ayrılır. Soft sınır, uygulanabilirlikte gösterilecek ilk sınırdır; hard sınır ise kullanıcı tarafından değiştirilmesi daha zordur ve çoğu durumda yalnızca kök kullanıcı tarafından güncellenebilir.
  • Hangi kaynaklar sınırlandırılır: CPU kullanım süresi (CPU time), bellek (adreslenebilir sanal bellek, bazı durumlarda RSS yerine VIRT/RES gibi göstergeler), açık dosya tanıtıcıları (NOFILE), işlem başına yaratılabilecek süreç sayısı (nproc) gibi pek çok parametre desteklenir.


Prlimit ile pratik örnekler
  • Bir süreç için mevcut sınırları görmek:

KOD
1prlimit -p 


  • Yeni başlayan bir işlem için sınırları ayarlamak:

KOD
1prlimit --cpu=60 --fsize=1048576 --nofile=1024 --nproc=512 /usr/bin/python3 myscript.py

Bu örnekte:
  • CPU süresi 60 saniyeyi aşarsa süreç sonlandırılır.
  • Dosya boyutu sınırı 1 GiB olarak belirlenir.
  • Aynı süreçte açılabilecek dosya tanıtıcıları 1024 ile sınırlanır.
  • Oluşturulacak yeni süreçler için max işlem sayısı 512 olarak ayarlanır.


  • Varolan bir sürece dinamik olarak sınır değiştirmek:

KOD
1prlimit --pid  --rss=524288000 --data=104857600

Not: Bazı sınırlar için hard limit değiştirmek kullanıcı ayrıcalıkları gerektirebilir; bu durumda kök (root) yetkisi gerekir veya yaklaşımla çalışma yetkisi olan kullanıcılar tercih edilmelidir.

Dikkat edilmesi gereken noktalar
  • Bellek sınırlarını çok düşük ayarlamak, uygulamaların performansını olumsuz etkileyebilir; özellikle bellek yoğun işlemlerde OOM-killeri tetikleyebilir.
  • CPU sınırını çok sıkı yapmak, zaman paylaşımlı ortamda yanıt sürelerini bozabilir. Bu nedenle sınırları uygulama karakteristiğine göre belirlemek gerekir.
  • NOFILE ve nproc sınırları, çok sayıda açılan dosya veya süreç oluşturan uygulamalarda darboğazlar yaratabilir. Uygulama davranışını izlemek bu yüzden kritik öneme sahiptir.


Sonuç ve öneri
prlimit, süreç bazında esnek ve dinamik sınır yönetimi için güçlü bir araçtır. Özellikle çok kullanıcılı sunucularda veya izole çalışma alanlarında (konteyner veya kullanıcı için izolasyon) kaynak tükenmesini önlemek adına faydalı bir uygulama haline getirir. Sistem yöneticileri için, uygulama türlerine göre önerilen sınır setlerini tanımlamak ve olay günlüklerinde sınır ihlallerini takip etmek, istikrarı artırır. Bu konudaki deneyimleriniz veya karşılaştığınız pratik sınırlandırma senaryolarını paylaşmak isterseniz, hangi sınırları nasıl belirlediğinizi ve hangi izleme adımlarını kullandığınızı anlatabilirsiniz.

Cavab vermək üçün daxil olmalısınız.

Bu mövzunu görüntüləyən istifadəçilər (Cəmi: 1, Üzvlər: 1, Qonaqlar: 0)
Cəmi: 1 (üzvlər: 1, qonaqlar: 0)
0 sitat seçildi