Örneklerle Linux’ta ulimit Komutu Nasıl Kullanılır

Merhabalar,

 

“ulimit”, mevcut kullanıcının kaynak limitini ayarlayabilen veya raporlayabilen ilginç bir Linux kabuğu komutudur.

Elbette doğası gereği “ulimit” ile çalışmak yönetici erişimi gerektirir (değer değiştirirken). Ayrıca, yalnızca shell üzerinden kontrole izin veren sistemlerde çalışır. Lafı fazla uzatmadan “ulimit” ile başlayalım!

Konumu

Terminali ateşleyim ve aşağıdaki komutu çalıştıralım.

which ulimit

 

Yukarıda görüldüğü herhangi bir bilgi dönmedi Çünkü “ulimit” ayrı bir ikili dosya değildir.Shell` in içine gömülüdür.

ulimit temel kullanımı:

Sadece komutu kendi başına çağırıp ateşleyelim.

ulimit

Yukarıdaki çıktı, mevcut kullanıcının erişilmesi gereken tüm kaynaklara “sınırsız” miktarda  kaynağı kullanabildiğini gösteriyor. Esasen bu, mevcut kullanıcının sistemin desteklediği tüm kaynakları tüketebileceği anlamına gelir.

Raporu ayrıntılı olarak almak için sonuna “-a” bayrağını ekleyin. Bu, geçerli kullanıcı için tüm kaynak sınırlarını yazdıracaktır.

ulimit -a

 

 

Not: 2 tür kaynak sınırlaması vardır: “hard” ve “soft”. Hard kaynak sınırı, kullanıcının ulaşabileceği fiziksel sınırı tanımlar. “Soft” kaynak sınırı kullanıcı tarafından yönetilebilir. Değeri “Hard” sınırına kadar çıkabilir.

Sistem kaynakları, “/etc/security/limits.conf” konumunda bulunan bir yapılandırma dosyasında tanımlanır. “ulimit” çağrıldığında bu değerleri rapor edecektir.

cat /etc/security/limits.conf

 

 

Bir kullanıcının farklı limitlerini kontrol etme:

Bireysel parametreleri görüntülemeye ne dersiniz? Ardından ilgili parametrelerle “ulimit”i çağırın.

Not: Her sistem özellikleri içermediğinden bu komutların tümü çalışmayacaktır.

Maksimum “core file size” değerini kontrol etmek için “-c” işaretini kullanın. Sonuç bloklar halinde gösterilecektir.

ulimit -c

 

 

Maksimum “data seg size” (kilobayt olarak) olarak görüntülemek için “-d” bayrağını kullanmalıyız.

ulimit -d

 

 

Planlamada öncelik önemlidir. Mevcut kullanıcının maksimum zamanlama önceliğini “-e” bayrağı yardımıyla kontrol edebiliriz.

ulimit -e

 

Mevcut kullanıcının maksimum stack size (yığın boyutunu) kontrol etmek için “-s” işaretini kullanın.

ulimit -s

 

 

 

Maksimum kullanıcı işlemi sayısı için “-u” işaretini kullanın.

ulimit -u

 

 

Maksimum threads (iş parçacığı) sayısı için “-T” işaretini kullanın.

ulimit -T

 

virtual memory (Sanal bellek) boyutunu almak için aşağıdakini kullanın.

ulimit -v

 

socket buffer size (Soket arabellek boyutunu) kontrol edelim!

ulimit -b

Aşağıdaki komut, her işlemin çalışmasına izin verilen süreyi bildirir.

ulimit -t

Dosya tanımlayıcıları, Linux ekosisteminin bir başka ilginç parçasıdır. Bir işlemin kaç tane dosya tanımlayıcısı olabileceğini kontrol etmek için aşağıdakini çalıştırın.

Değerleri ayarlama

Şimdiye kadar, mevcut sistemin kaynak limitlerinin değerlerinin nasıl kontrol edileceğini gördük. Şimdi, bu değerleri manuel olarak nasıl değiştireceğinizi görmenin zamanı geldi.

Not: “Hard” limiti değiştirmek için yönetici erişimi, yani “root” izni gerekir. İşleri karıştırmamaya dikkat edin!

“limits.conf” dosyasından bahsetmiştik değil mi? Kullanıcılar için geçerli olacak tüm sınırları TANIMLAYAN  bir dosyadır.

sudo vim /etc/security/limits.conf

 

Dosya içindeki gösterilen, her giriş aşağıdaki yapıyı takip etmelidir.

<domain> <type> <item> <value>

“domain” kısmı bu değerlerden her hangi biri olabilir.

Belirli bir kullanıcı
Bir grup
Wildcard (* ve %)

“type” kısmı aşağıdaki değerlere izin verir.

“soft” (soft limitleri uygulamak için)
“hard” (hard limitleri uygulamak için)

Sıradaki, “item” kısmı. Mevcut seçeneklerin listesi oldukça uzun! İşte ilginç olanlardan bazıları.

çekirdek: Çekirdek dosya boyutu (KB olarak).
veri: Maksimum veri boyutu (KB olarak)
fsize: Maksimum dosya boyutu (KB olarak).
memlock: Maksimum bellekte kilitli adres alanı (KB cinsinden).
nofile: Maksimum dosya tanımlayıcı sayısı
yığın: Yığının maksimum boyutu (KB cinsinden).
cpu: Maksimum CPU süresi (MIN olarak).
maxlogins: Geçerli kullanıcı/grup için maksimum oturum açma sayısı
öncelik: Kullanıcının işlemlerinin önceliğini ayarlayın
rtprio: Gerçek zamanlı olarak maksimum öncelik.

“Value” alanı olarak bir tamsayı değeri girin. Her alanın bir birimi “item” bölümünün değeriyle ilişkili olduğunu unutmayın.

Değişiklikler, ilgili kullanıcı hesabında oturumdan çıkıp  ve yeniden oturum açıldıktan sonra yürürlüğe girecektir.

“Ulimit” komutunun kullanımı çok karmaşık olmasa da, mevcut sistem kaynaklarının belirlenmesinde ve nihayetinde performansın belirlenmesinde önemli bir rol oynamaktadır. Bu komut hakkında daha fazla bilgi edinmek için man  komutu ile birlikte çağırabilirsiniz.

 

Bu eğitim yazımızında sonuna geldik.Umarım sizlere için faydalı olur.

 

 

Bu eğiticiye oy ver
[Total: 3 Average: 5]
Firat CANOĞLU TAĞ