Göre çekirdek belgelerinde , /proc/sys/file-max
çekirdek boğulma önce tahsis edecek dosya tanımlayıcıları maksimum toplam küresel sayıdır. Bu, çekirdek sınırınızdır, mevcut kullanıcınız değil. Eğer Yani yapabilirsiniz 590432 açın (hiçbir cinleri çalıştıran, tek kullanıcı modu) Bir boşta sistem yalnızsın sağladı.
Belgelerin güncel olmadığını unutmayın: dosya proc/sys/fs/file-max
uzun zamandır. Bunu işaret ettiği için Martin Jambon'a teşekkürler.
Yumuşak ve sert sınırlar arasındaki fark burada SE'de cevaplandırılmıştır . Sert sınırı aşmamak koşuluyla, normal bir kullanıcı olarak yumuşak bir sınırı yükseltebilir veya düşürebilirsiniz. Ayrıca sabit bir limiti de düşürebilirsiniz (ancak bu işlem için tekrar yükseltemezsiniz). Süper kullanıcı olarak, hem sert hem de yumuşak limitleri yükseltebilir ve düşürebilirsiniz. İkili limit şeması, sistem politikalarını uygulamak için kullanılır, ancak sıradan kullanıcıların kendileri için geçici sınırlar belirlemelerine ve daha sonra bunları değiştirmelerine izin verir.
Yumuşak limitin altına sert bir limit düşürmeyi denerseniz (ve siz süper kullanıcı değilseniz), EINVAL
geri alacağınızı (Geçersiz Bağımsız Değişken) unutmayın.
Bu nedenle, kendi durumunuzda, ulimit
(aynı olan ulimit -Sf
) kabuk ve alt işlemleri tarafından yazılan dosyaların boyutu üzerinde yumuşak bir sınırınız olmadığını söylüyor . (bu muhtemelen çoğu durumda iyi bir fikirdir)
Öbür çağırma, ulimit -Hn
raporlar -n
sınırı (açık dosya tanıtıcı maksimum sayı), değil-f
yumuşak sınır sert sınırdan yüksek görünüyor yüzden sınırı. Eğer girerseniz ulimit -Hf
da 'sınırsız' alırsınız.
/proc/sys/fs/file-max
.