Ulimit değeri kalıcı olarak nasıl ayarlanır?


19

Debian Wheezy'de ulimit -a:

open files                      (-n) 1024

Bunu /etc/security/limits.conf dosyasına ekliyorum

*                hard    nofile          64000

sonra yeniden başlatın.

Ve ulimit -ahala maksimum 1024 açık dosya verir. Herkes üzerine biraz ışık atabilir mi?


Bu muhtemelen sanal bir sunucu mu?
Dennis Nolte

hayır, bu bir mongodb sunucusu
Icu

Yanıtlar:


15

Birinci seçenek: Softlimit'i daha yükseğe de ayarlamadınız.

Olası çözüm:

/etc/security/limits.conf ekle

* soft nofile 2048

ile test et

ulimit -n 2048 

İkinci seçenek: Kullanıcı olarak oturum açtınız ve bazı "config" dosyasında (profil, bashrc, bunun gibi bir şey) yazılım sınırı daha düşük bir değere ayarlanmış.

Etc klasörünüzdeki ve / veya home klasörünüzdeki ulimit için olası çözüm fe grep.

Uyarı: İçinde bulunduğunuz dosya / yönetmen miktarına bağlı olarak yalnızca belirli yönetmenleri / dosyaları dikkate almak isteyebilirsiniz

ps: Burada okumak isteyebileceğiniz birçok benzer soru var.

Özel Sert ve Yumuşak Limit

Daha fazla ayrıntıya giren olası diğer çözümler için burayı okuyun Çok Fazla Açık Dosya


Aslında, sadece zor sınırı 64000 olarak ayarlamaya çalışıyordum. Bu yüzden yumuşak sınır hala 1024'teydi. Şimdi 64000 + hard = 72000 için yumuşak bir sınır ayarlamaya çalıştım. Ama işe yaramadı. Ayrıca "* - nofile 64000" i de denedim ve aynı sonucu alıyorum.
Icu

"Çok Fazla Açık Dosya" yı okuduktan sonra, bir çekirdek ayarının sınırlar.conf ayarlarını geçersiz kılacağını düşündüm, ancak: "fs.file-max = 4933738"
Icu

@ Bu sorudan cevapları da deneyin: serverfault.com/questions/93234/… kabuğunuzla ilgili olabilir
Dennis Nolte

/Etc/pam.d/other ve common-session 'oturum gerekli pam_limits.so' ekledim ama yardımcı olmuyor ... Alternatif olarak, init betiğime bir 'ulimit -n' ekledim ve işe yarıyor ama merak ediyorum neden kabuğuma doğru değerleri alamıyorum.
Icu

20

Debian'da bir hata var. Artırmak için ulimitbunu /etc/pam.d/common-sessiondosyaya eklemeniz gerekir :

session required pam_limits.so

ve /etc/security/limits.confek olarak:

*               soft    nofile          65535
*               hard    nofile          65535

Ardından sistemi yeniden başlatın.


1
/etc/pam.d/common-sessiondosyada herhangi bir değişiklik yapmama gerek yok . limits.confdosyaya diğer iki satırı ekleyerek çalıştı :-)
Francesco Casula

Yeniden başlatmanıza gerek yok.
David Goodwin

Bu acımasız. Şimdi debian 7'de ve bu işe yaramıyor. Ne yapacağımdan emin değilim :( - Yeni bir soru açabilirim
NiCk Newman

12
Boom. *joker karakter işe yaramıyor root. Bunun rootyerine ekledim *ve çalışıyor. Teşekkür ederim!
NiCk Newman

@FrancescoCasula - Debian'ın hangi sürümü buydu? Sadece bu gerçekten bir hata olup olmadığını anlamaya çalışıyor, ve hala varsa ...
UpTheCreek

0

Benim Debian 10 Apache benim durumumda bu işe yaradı rağmen yukarıdaki yardımcı olmadı:

echo "APACHE_ULIMIT_MAX_FILES='ulimit -n 16384'" >> /etc/apache2/envvars
service apache2 restart

Kontrol ettim:

cat /proc/$pid/limits

.. $pidApache işlemlerinden birinin işlem kimliği.

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.