Linux Komutları

Ulimit Değeri Kalıcı Olarak Nasıl Ayarlanır

Ulimit Değeri Kalıcı Olarak Nasıl Ayarlanır

Linux'ta ulimit, küresel, grup ve kullanıcı düzeylerinde kaynak tahsisini yönetmek için yerleşik bir araçtır. Linux gibi çok kullanıcılı bir sistem için, böyle bir özelliğe sahip olmak neredeyse çok önemlidir. RAM ve CPU gücü gibi istenmeyen sistem kaynaklarının tüketimini önleyebilir.

Linux'ta ulimit değerinin kalıcı olarak nasıl ayarlanacağını kontrol edin.

sınır değeri

Ulimit, bir kullanıcının kullanabileceği kaynakların önceden tanımlanmış sınırını zorlar. Araç, ulimit değerlerini atamak için çekirdek olarak belirli bir yapılandırma dosyası kullanır. Daha ince ayarlı kontrol için dosyayı düzenlemek daha iyidir.

$ cat /etc/security/limits.konf


Uygulanabilecek iki tür sınır vardır: yumuşak ve sert sınırlar. Bu türleri basit bir örnekle açıklamak daha iyidir.

Diyelim ki bir sistem yöneticisi, belirli bir kullanıcının belirli bir değerin etrafında gezinmesini istiyor. Burada, kullanıcı gerekirse değeri aşabilir, ancak buna sıkı sıkıya bağlı değildir. Bu durumda, yumuşak bir sınır olacaktır. Öte yandan, yönetici sınırı katı bir şekilde uygulamak isterse, bu zor bir sınır olacaktır.

ulimit'i kullanma

Ulimit bir komut satırı aracıdır. İşte ulimit komutunun temel yapısı.

$ üst sınır

Tüm limitleri göster

"-a" bayrağı, belirli bir kullanıcı için tüm seçenekleri ve yapılandırmaları listeler. Hiçbir kullanıcı tanımlı değilse, bunun yerine geçerli kullanıcı için sınırları yazdırır.

$ ulimit -a

$ ulimit -a


Bir kullanıcının yumuşak limitlerini görüntülemek için “-S” bayrağını kullanın.

$ ulimit -Sa


Bir kullanıcının katı sınırlarını görüntülemek için “-H” bayrağını kullanın.

$ ulimit -Ha


Belli bir sürecin sınırlarını görmek mümkün. Ayrıntılar aşağıdaki dosyada yer almaktadır. Şu anda çalışmakta olan işlemlerin her biri için benzersiz bir dosya olduğunu unutmayın. PID alanını hedef sürecin PID'si ile değiştirin.

$ kedi /proc//limitler

Sınır parametreleri

Ulimit'i değiştirmek için, ne tür bir limit tanımlamak istediğinizi belirtmeniz gerekir. İşte değiştirebileceğiniz tüm mevcut parametreleri içeren bir kısa liste. Hemen hemen hepsi, her bir parametrenin maksimum değerini tanımlar.

  • b: Soket arabellek boyutu
  • c: Oluşturulan çekirdek dosyaların boyutu
  • d: Sürecin veri segmenti boyutu
  • e: Zamanlama önceliği (“güzel” değer)
  • f: Kabuk tarafından oluşturulan dosya sayısı
  • i: Bekleyen sinyal sayısı
  • l: Belleğe kilitlenecek boyut
  • m: Yerleşik set boyutu
  • n: Açık dosya tanımlayıcılarının sayısı
  • p: Boru tampon boyutu
  • q: POSIX mesaj kuyruklarındaki bayt sayısı
  • r: Gerçek zamanlı zamanlama önceliği
  • s: Yığın boyutu
  • t: CPU zamanı (saniye cinsinden)
  • T: İş parçacığı sayısı
  • u: Bir kullanıcının kullanabileceği işlem sayısı
  • v: İşlenecek kullanılabilir sanal bellek miktarı
  • x: Dosya kilitlerinin sayısı

Ulimit değerini geçici olarak değiştir

Belirli bir kullanıcı için ulimit değerini geçici olarak değiştirmek mümkündür. Değişiklik, kullanıcı oturumu kapatılana, oturumun süresi dolana veya sistem yeniden başlatılana kadar geçerliliğini koruyacaktır. Burada, bir kullanıcı için maksimum işlem numarasının nasıl ayarlanacağının bir örneğini göstereceğim.

Kullanılabilir işlemlerin sayısını 12345 olarak değiştirmek için aşağıdaki komutu çalıştırın. Kullanıcıya geçici bir sabit sınır koyacaktır.

$ ulimit -u

$ ulimit -u 12345


Doğrulamak için katı sınıra göz atın.

$ ulimit -Hu

Ulimit değerini kalıcı olarak değiştir

Daha önce belirtildiği gibi, ulimit, varsayılan ulimit değerini belirleyen bir sistem yapılandırma dosyası kullanır. Bu dosyada değişiklik yaparak, herhangi bir kullanıcı için ulimit değerini kalıcı olarak değiştirebilirsiniz.

Dosyayı favori metin düzenleyicinizde açın. Değişikliklerin kaydedilmesi için dosyanın kök izniyle açılması gerektiğini unutmayın.

$ sudo vim /etc/security/limits.konf


Burada, dosyanın girişleri aşağıdaki yapıyı takip eder.

$

Her alanın hızlı bir dökümünü yapalım.

  • etki alanı: Kullanıcı adları, gruplar, GUID aralıkları vb.
  • tip: Limit tipi (yumuşak/sert)
  • item: Sınırlı olacak kaynak, örneğin çekirdek boyutu, nproc, dosya boyutu vb.
  • değer: sınır değer

İşte mevcut tüm öğelerin kısa bir listesi.

  • çekirdek: Çekirdek dosya boyutunu sınırlar (KB olarak)
  • işlemci: CPU zamanı (dakika olarak)
  • veri: Veri boyutu (KB olarak)
  • fsize: Dosya boyutu (KB olarak)
  • kilitler: Kullanıcının tutabileceği dosya kilitleri
  • memlock: Bellekte kilitli adres alanı (KB cinsinden)
  • nproc: İşlemci sayısı
  • rtpio: Gerçek zamanlı öncelik
  • sigpending: Bekleyen sinyal sayısı

Kullanılabilir öğelerin tam listesi için limitlerin kılavuz sayfasına bakın.konf.

$ adam limitleri.konf


Örneğin, aşağıdaki giriş, "Viktor" kullanıcısının kullanabileceği CPU çekirdeği sayısını 2'ye kadar sınırlayacaktır.

$ viktor sabit nproc 2

Düzenlendikten sonra dosyayı kaydedin. Değişikliklerin yürürlüğe girmesi için, etkilenen kullanıcı(lar)ın oturumu kapatması ve yeniden oturum açması gerekir. Nasıl uygulandığına bağlı olarak, sistemin yeniden başlatılmasını da gerektirebilir.

Son düşünceler

ulimit aracı, kaynakları yönetmenin güçlü bir yolunu sunar. Yaptığı şey basit ama güçlü. Ne yaparsanız yapın, uygulamak üzere olduğunuz sınırın doğru girildiğinden emin olun. Bunları ilk kez deniyorsanız, önce sanal bir makinede denemeyi deneyin.

ulimit komutunda burada tartıştığımdan daha fazlası var. Daha fazla bilgi edinmek istiyorsanız, Linux ulimit komutuna göz atın.

Mutlu bilgisayar!

How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Remap your mouse buttons differently for different software with X-Mouse Button Control
Maybe you need a tool that could make your mouse's control change with every application that you use. If this is the case, you can try out an applica...
Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...