/etc/security/limits.conf dosyasındaki değişiklikler yeniden başlatma gerektiriyor mu?


144

Değişikliklerin /etc/security/limits.confyürürlüğe girmeden önce yeniden başlatılmasını gerektiriyor mu?

Aşağıdaki limitleri koyan bir betik varsa /etc/security/limits.conf, bu sınırlar yürürlüğe girmeden önce sistemi yeniden başlatmanız gerekir mi?

* hard nofile 94000
* soft nofile 94000
* hard nproc 64000
* soft nproc 64000

2
çıkış yeterli olmalı
UVV

Dosya /etc/security/limits.d/90-nproc.conf düzenleyin ve size sistemi yeniden

Yanıtlar:


108

Hayır, ancak tüm aktif oturum pencerelerini kapatmalısınız. Hala eski değerleri hatırlıyorlar. Başka bir deyişle, oturumu kapatıp tekrar oturum açın. Her yeni oturum veya yerel güvenli bir kabuk, limit değişikliklerini etkiler .


17
Giriş limiti olmayan bir kullanıcının sınırlarını belirlemek istersem, örneğin kullanıcı için nofilesınırını ayarlamak istersem ? Bunu yeniden başlatmadan nasıl yaptım? Sadece hizmeti yeniden başlatmam gerekir mi ? 94000mongodbmongodb
Alexej Magura

2
@AlexejMagura Çalışan işlemlerin sınırlarını prlimitkomutla değiştirebilirsiniz.
Bratchley

7
@Gilles, kesinlikler için teşekkürler, belirsizliği önlemek için cevabımı düzenledim. Bununla birlikte, yeni bir servis başlatmak sudo service mongodb restart, servisin yeni limit değerlerle çalışmasına izin vermek için yeterlidir.
Slyx

6
Eğer Ubuntu kullanıyorsanız ve mongodb çalıştırma tarafından başlatılıyorsa, bu limitleri değiştirmek mongodb'u etkilemeyecektir. As upstart/ etc / güvenlik yapılandırma okumuyor bugs.launchpad.net/ubuntu/+source/upstart/+bug/938669 ayarlamanız gerekir limitonun sonradan görme yapılandırma dosyasında dörtlük.
HVNSweeting

5
Bu başka bir konu. upstarttasarım gereği belirlenen sınırları göz ardı eder /etc/security/limits.conf.
Slyx

35

Eğer prlimit kurulu ise değişiklikleri doğrudan çalışan bir işleme uygulayın (util-linux-2.21 ile birlikte gelir)

prlimit --pid <pid> --<limit>=<soft>:<hard>

Örneğin

prlimit --pid 12345 --nofile=1024:2048

Buraya bakın


29

Şu anda oturum açmış olduğunuz kullanıcının açık dosya sınırını geçici olarak ayarlamak için (örn. 'Root'): Ayrıca ulimit, geçerli kabuğunuzdaki değerleri değiştirmek için de komutu kullanabilirsiniz . Bununla birlikte, zor sınırlar, kök olmadığınız sürece yalnızca aşağı doğru ayarlanabilir.

Örnek:

# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 62449
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Değiştirmek için nofileiçin 94000 Yapabileceğiniz:

ulimit -n 94000

15

Sınırlar bir üst süreçten alt süreçlere kadar miras alınır. Kök olarak çalışan işlemler keyfi sınırları değiştirebilir; diğer işlemler zor sınırları artıramaz. Bu nedenle, oturum açma işlemi tarafından belirlenen zor sınırlar bir oturumdaki tüm işlemleri etkiler.

Eğer değiştirirseniz /etc/security/limits.conf, bu bu yeni oturumda tüm yeni oturumları ve süreçleri etkileyecektir. Çalışmakta olan işlemleri veya çalışan bir işlem tarafından başlatılan işlemleri etkilemez.

Bu nedenle, bazı limitleri artırmanız gerekirse, oturumu kapatıp tekrar açmanız veya başka bir oturumu başlatmanız gerekir (örneğin ssh localhost, veya başka bir konsolda).


4

Alıntı Tombart cevabı @

Bu limitler, yeniden başlatmanın ardından uygulanacaktır.

Değişiklikleri yeniden başlatmadan uygulamak istiyorsanız /etc/pam.d/common-session, dosyanın sonuna bu satırı ekleyerek değiştirin :

session required pam_limits.so
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.