ulimit
harici bir komut değil, yerleşik bir kabuktur. Kabuk sürecinin kendisi üzerinde hareket ettiği için inşa edilmesi gerekir cd
: geçerli dizin gibi sınırlar, söz konusu işlemin bir özelliğidir.
sudo bash -c 'ulimit -n 4096'
işe yarayacaktır, ancak bu sudo
sadece size çağrılan bash sürecinin sınırını değiştirir ve bu size yardımcı olmaz.
Her sınır için iki değer vardır: sabit sınır ve yumuşak sınır. Sadece kök zor sınırı yükseltebilir; herhangi biri sabit sınırı düşürebilir ve yumuşak sınır, sert sınırdan daha yüksek olamayacağı tek kısıtlamayla her iki yönde de değiştirilebilir. Yumuşak sınır, önemli olan gerçek değerdir.
Bu nedenle, tüm işlemlerinizin en az 4096 açık dosya için sabit bir sınırı olduğunu ayarlamanız gerekir. Yumuşak sınırı 1024'te tutabilirsiniz. Çok fazla dosya gerektiren bu işlemi başlatmadan önce yumuşak sınırı yükseltin. İçinde /etc/security/limits.conf
, satırları ekleyin
paislee hard nofile 4096
paislee soft nofile 1024
nerede paislee
işleminizi yapmak istediğiniz kullanıcının adı. Daha yüksek bir sınır istediğiniz işlemi başlatan kabukta çalıştırın
ulimit -Sn unlimited
yumuşak limiti sert limite yükseltmek için.
ulimit 4096
çalışmıyor. Bence-n
doğru. Kavramın bir kanıtı olarak, önce bensudo su - root
(ama sadece kök için değişir) çalışır.