Linux'ta Açık Dosya Sayısı Sınırı Nasıl Artırılır


Linux'ta maksimum açık dosya miktarını değiştirebilirsiniz. ulimit komutunu kullanarak bu sayıyı değiştirebilirsiniz. Size kabuk veya kendisi tarafından başlatılan süreç için mevcut kaynakları kontrol etme yeteneği verir.

Ayrıca Okuyun: Kullanıcı Başına Düzeyde Linux Çalışan İşlem Sınırlarını Ayarlayın

Bu kısa eğitimde size mevcut açık dosya sınırınızı ve dosya açıklamalarını nasıl kontrol edeceğinizi göstereceğiz, ancak bunu yapmak için sisteminize root erişiminizin olması gerekir.

Öncelikle Linux sisteminizde maksimum açık dosya tanımlayıcı sayısını nasıl öğrenebileceğimizi görelim.

Linux Açık Dosya Sınırını Bul

Değer şu konumda saklanır:

cat /proc/sys/fs/file-max

818354

Göreceğiniz sayı, bir kullanıcının oturum açma başına açabileceği dosya sayısını gösterir. Sonuç, sisteminize bağlı olarak farklı olabilir.

Örneğin, benim CentOS sunucumda sınır 818354 olarak ayarlanmışken, evde çalıştırdığım Ubuntu sunucusunda varsayılan sınır şu şekildeydi: 176772 olarak ayarlandı.

Sert ve yumuşak limitleri görmek istiyorsanız aşağıdaki komutları kullanabilirsiniz:

Linux'ta Sabit Limiti Kontrol Edin

ulimit -Hn

4096

Linux'ta Yumuşak Limitleri Kontrol Edin

ulimit -Sn

1024

Farklı kullanıcılara ait hard ve soft değerleri görmek için “su” ile kullanıcıyı kontrol etmek istediğiniz limitlere göre değiştirebilirsiniz.

Örneğin:

su marin
ulimit -Sn

1024
ulimit -Hn

4096

Linux'ta Sistem Genelinde Dosya Tanımlayıcı Sınırları Nasıl Kontrol Edilir

Bir sunucu çalıştırıyorsanız, bazı uygulamalarınız açılan dosya tanımlayıcıları için daha yüksek limitler gerektirebilir. Bunun iyi bir örneği MySQL/MariaDB hizmetleri veya Apache web sunucusudur.

Linux'ta açılan dosyaların sınırını fs.file-max çekirdek yönergesini düzenleyerek artırabilirsiniz. Bu amaçla sysctl yardımcı programını kullanabilirsiniz.

Sysctl çalışma zamanında çekirdek parametrelerini yapılandırmak için kullanılır.

Örneğin, açık dosya sınırını 500000'e çıkarmak için root olarak aşağıdaki komutu kullanabilirsiniz:

sysctl -w fs.file-max=500000

Açılan dosyaların geçerli değerini aşağıdaki komutla kontrol edebilirsiniz:

cat /proc/sys/fs/file-max

Yukarıdaki komutla yaptığınız değişiklikler yalnızca bir sonraki yeniden başlatmaya kadar etkin kalacaktır. Bunları kalıcı olarak uygulamak istiyorsanız aşağıdaki dosyayı düzenlemeniz gerekecektir:

vi /etc/sysctl.conf

Aşağıdaki satırı ekleyin:

fs.file-max=500000

Elbette ihtiyacınıza göre sayıyı değiştirebilirsiniz. Değişiklikleri tekrar doğrulamak için şunu kullanın:

cat /proc/sys/fs/file-max

Değişikliklerin etkili olması için kullanıcıların oturumu kapatıp tekrar giriş yapması gerekecektir. Limiti hemen uygulamak istiyorsanız aşağıdaki komutu kullanabilirsiniz:

sysctl -p

Linux'ta Kullanıcı Düzeyinde Dosya Açma sınırlarını ayarlayın

Yukarıdaki örnekler genel sınırların nasıl ayarlanacağını gösterdi ancak sınırları kullanıcı bazında uygulamak isteyebilirsiniz. Bu amaçla root kullanıcısı olarak aşağıdaki dosyayı düzenlemeniz gerekecektir:

vi /etc/security/limits.conf

Eğer bir Linux yöneticisiyseniz, o dosyaya ve bu dosyayla neler yapabileceğinize çok aşina olmanızı öneririm. Kullanıcıları/grupları farklı düzeylerde sınırlandırarak sistem kaynaklarının yönetilmesi açısından büyük esneklik sağladığı için içindeki tüm yorumları okuyun.

Eklemeniz gereken satırlar aşağıdaki parametreleri alır:

<domain>        <type>  <item>  <value>

Aşağıda, marin kullanıcısı için yumuşak ve sert sınırlar belirlemeye ilişkin bir örnek verilmiştir:

## Example hard limit for max opened files
marin        hard nofile 4096
## Example soft limit for max opened files
marin        soft nofile 1024

Son düşünceler

Bu kısa makalede, maksimum açılan dosya sayısı için genel ve kullanıcı düzeyindeki sınırları nasıl kontrol edip yapılandırabileceğinize ilişkin temel bir örnek gösterilmiştir.

Henüz yüzeysel olarak incelemiş olsak da, /etc/sysctl.conf ve /etc/security/limits.conf ile ilgili daha ayrıntılı bir inceleme yapmanızı ve okumanızı önemle tavsiye ederim. bunları nasıl kullanacağınızı öğrenin. Bir gün sana çok yardımcı olacaklar.