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.