# 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

#### <span class="notion-enable-hover" data-token-index="0">System-Wide Limit</span>

<span class="notion-enable-hover" data-token-index="0">Değeri yukarıda belirlenen kullanıcı sınırından daha yüksek bir şekilde ayarlayabilirsiniz.</span>

<span class="notion-enable-hover" data-token-index="0">/etc/sysctl.conf dosyasını açın ve aşağıdaki satırı ekleyin:</span>

> <span class="notion-enable-hover" data-token-index="0">fs.file-max = 2097152</span>

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 <span class="notion-enable-hover" data-token-index="1" spellcheck="false" style="font-family: 'SFMono-Regular', Menlo, Consolas, 'PT Mono', 'Liberation Mono', Courier, monospace; line-height: normal; background: rgba(135,131,120,.15); color: #eb5757; border-radius: 4px; font-size: 85%; padding: 0.2em 0.4em;">www-data</span> 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