Open Files Sınırını Arttırmak
Eğer 'Too many open files (24)' hatası alıyorsanız, application/command/script Linux tarafından izin verilen maksimum açık dosya sınırına ulaşıyor demektir. Aşağıdaki gibi açık dosya sınırını artırmanız gerekecek:
Limiti Arttırmak
Per User Limit
/etc/security/limits.conf dosyasını açın ve aşağıdaki kısmı yapıştırın:
* hard nofile 500000
* soft nofile 500000
root hard nofile 500000
root soft nofile 500000
Dosyayı kaydettikten sonra sisteme çıkış yapın ve tekrar giriş yapın.
pam-limits
Sınırın daemon işlemleri için değiştirilmesi için ek bir adım gerekebilir. Buna ihtiyaç duymayabilirsiniz, ancak yukarıdaki değişiklikler sizin için işe yaramazsa, bu yolu denemeyi düşünebilirsiniz.
/etc/pam.d/common-session dosyasını açın ve aşağıdaki satırı ekleyin:
session required pam_limits.so
System-Wide Limit
Değeri yukarıda belirlenen kullanıcı sınırından daha yüksek bir şekilde ayarlayabilirsiniz.
/etc/sysctl.conf dosyasını açın ve aşağıdaki satırı ekleyin:
fs.file-max = 2097152
Sonrasında aşağıdaki komutu çalıştırın:
sysctl -p
Yukarıdaki işlem, sistem genelinde açık kalabilen toplam dosya sayısını artırır.
Yeni Limit Belirlemek
Dosya tanımlarının maksimum sınırını görmek için aşağıdaki komutu kullanın:
cat /proc/sys/fs/file-max
Hard Limit:
ulimit -Hn
Soft Limit:
ulimit -Sn
Eğer root kullanıcı ile giriş yaptıysanız:
Diğer kullanıcılar için limiti görmek
Sadece www-data yerine kontrol etmek istediğiniz Linux kullanıcı adınızı (username) yazarak değiştirin:
su - www-data -c 'ulimit -aHS' -s '/bin/bash'
Çalışan process’in limitini görmek
Process id’yi (PID) öğrenmek için:
ps aux | grep process-name
XXX PID'dir, buna göre limitleri kontrol etmek için aşağıdaki komutu çalıştırın:
cat /proc/XXX/limits