Bu makale , sanırım sorununuzu giderir.
Temelde mevcut kaynakları arttırmak için ulimit komutunu kullanmalısınız.
Örneğin:
Maksimum açık dosya tanımlayıcı sayısını görüntülemek için aşağıdaki komutu kullanın:
cat /proc/sys/fs/file-max
Sert ve yumuşak değerleri görmek için komutu aşağıdaki gibi verin:
# ulimit -Hn
# ulimit -Sn
Httpd veya oracle kullanıcısının sert ve yumuşak değerlerini görmek için komutu aşağıdaki gibi verin:
# su - username
Maksimum dosya sayısını sabitlemek için, çekirdek değişkeninde / proc / sys / fs / file-max değişkeninde yeni bir değer ayarlayarak (kök olarak oturum açın) maksimum açık dosya sayısını artırabilirsiniz:
# sysctl -w fs.file-max=100000
Yukarıdaki komut, sınırı 100000 dosyaya zorlar. /etc/sysctl.conf
Dosyayı düzenlemeniz ve aşağıdaki satırı koymanız gerekir, böylece yeniden başlattıktan sonra ayar olduğu gibi kalır. Bunu yapmak için, aşağıdaki gibi bir config yönergesi ekleyin:
fs.file-max = 100000
Dosyayı kaydedin ve kapatın. Kullanıcıların değişikliklerin geçerli olması için çıkış yapıp tekrar giriş yapması veya yalnızca aşağıdaki komutu yazması gerekir:
# sysctl -p
Ayarlarınızı komutla doğrulayın:
# cat /proc/sys/fs/file-max
veya:
# sysctl fs.file-max
Yukarıdaki prosedür, sistem çapında dosya tanımlayıcıları (FD) limitlerini belirler, ancak dosyayı httpd
düzenleyerek /etc/security/limits.conf
dosyayı düzenleyerek /etc/security/limits.conf
ve limitleri aşağıdaki gibi ayarlayarak kullanıcıyı (veya diğer kullanıcıları) belirli limitlerle sınırlayabilirsiniz:
httpd soft nofile 4096
httpd hard nofile 10240
Sonra onları kontrol edin:
# su - httpd
$ ulimit -Hn
$ ulimit -Sn
Diğer Linux dağıtımlarında sorun yaşarsanız, kontrol edin /etc/pam.d/login
ve pam_limits.so
etkinleştirildiğinden emin olun , örneğin;
session required pam_limits.so