Limit.conf değerleri işlem bazında mı uygulanıyor?


25

Oracle kullanıcım için nofiledeğeri ayarlıyorum ve /etc/security/limits.confdavranışı hakkında bir sorum var: nofileKullanıcının tüm işlemleri için açabileceği toplam dosya sayısını veya kullanıcının sahip olabileceği toplam dosya sayısını sınırlıyor mu? süreçlerinin her biri için açık ?

Özellikle, aşağıdaki kullanım için:

oracle                  hard    nofile                  65536

Yanıtlar:


23

Değerlerin çoğu limits.conf, ulimitkabuk komutuyla veya setrlimitsistem çağrısı ile ayarlanabilen sınırlardır . Onlar bir sürecin özellikleridir. Sınırlar her işlem için bağımsız olarak uygulanır. Özellikle, her işlemin nofileaçılacak dosyaları olabilir. Bir kullanıcının işlemleriyle biriktirilen açık dosya sayısında bir sınırlama yoktur.

nprocBir kullanıcının tüm işlemleri ele toplamı olmadığını sınır, özel bir durum bir parçasıdır. Bununla birlikte, yine de işlem başına uygulanır: bir işlem forkyeni bir işlem oluşturmak için çağrıldığında , işlemin abidine ait işlemlerin sayısının işlemin RLIMIT_NPROCdeğerinden büyük olması durumunda çağrı reddedilir .

limits.confAdam sayfa sınırlar oturum için geçerlidir olduğunu açıklar. Bu, bir oturumdaki tüm işlemlerin hepsinin aynı sınırlara sahip olacağı anlamına gelir (bu işlemlerden biri tarafından değiştirilmedikçe). Bu, bir oturumdaki süreçler üzerinde herhangi bir miktar yapılması anlamına gelmez (işletim sisteminin izleyeceği bir şey bile değil - bir oturum kavramı vardır, ancak bundan daha ince), örneğin her X11 uygulaması sona erme eğilimindedir. kendi oturumunda). Çalışma şekli, oturum açma işleminin kendisine bazı sınırlar koyması ve tüm alt işlemlerden miras alınmasıdır.

¹ İstisnalar maxlogins, maxsysloginsve chrootgiriş yapmayı reddetmek veya etkilemek için giriş işleminin bir parçası olarak uygulanır.


Tersine, bu farklı oturumların farklı limitlere sahip olabileceği anlamına mı geliyor?
CMCDragonkai 16:15

1
@ CMCDragonkai Evet, örneğin limit.conf, oturumların açık olduğu zamanlar arasında değiştirilirse veya farklı sınırlar (kök hariç daha küçük olması gerekir) ayarlanmışsa .profile.
Gilles 'SO- kötü olmayı'

1
@laimison Tüm çalışan işlemleri tekrarlar ve prlimit --pid $pidher birini çalıştırırsanız , etkin bir oturumun sınırını etkili bir şekilde değiştirebilirsiniz. Yineleyen sırada bazı işlemlerin yapılması durumunda birkaç kez yapmanız gerekebileceğini unutmayın.
Gilles 'SO- kötülükten vazgeç'

1
@ iddia No. Bir kullanıcının A ve B'de iki ve A'da B ile RLIMIT_NPROC3'e ayarlanmış iki işlemi olduğunu varsayalım .
Gilles 'SO- kötü olmayı bırak'

1
@laimison B'nin ebeveyninde limiti 2 olarak ayarlarsanız ve çatal attıktan sonra B'de değiştirmezseniz, o zaman B limiti 2 olacaktır. B çatalını kullanmadan önce B'nin ebeveyne limitini 3'e ayarlayın ve B çatalına bastıktan sonra 2'ye ayarlayın, B değeri 3 olacak şekilde ayarlayacaktır. bu sürecin ebeveyni veya başka bir süreçte.
Gilles 'SO- kötülük olmayı'
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.