Ulimit kullanabilirim, ancak bunun sadece benim kabuk oturumumu etkilediğini düşünüyorum. Tüm süreçler için limitin arttırılmasını istiyorum. Bu Kırmızı Şapka'da.
Ulimit kullanabilirim, ancak bunun sadece benim kabuk oturumumu etkilediğini düşünüyorum. Tüm süreçler için limitin arttırılmasını istiyorum. Bu Kırmızı Şapka'da.
Yanıtlar:
Justin'in cevabı, toplam sistemdeki toplam açık dosya sayısını nasıl artıracağınızı gösterir. Ama bence, kullanıcı başına limitin küresel olarak nasıl yükseltileceğini soruyorsun. Bunun cevabı, aşağıdaki satırları aşağıdakilere eklemektir /etc/security/limits.conf
:
* soft nofile 2048
* hard nofile 2048
(Burada * tüm kullanıcılar anlamına gelir.)
Bu dosyanın içinde ve içinde bazı özet belgeler var man limits.conf
. Bu, pam_limits.so
yapılandırılmış çeşitli servisler için çağrılan modül aracılığıyla gerçekleştirilir /etc/pam.d/
.
Ve itiraf etmeliyim ki, varsayılan 1024'ün nereden geldiği hakkında hiçbir fikrim yok . Ve inan bana baktım. Pam_limits modülü konfigüre edilmeden bile denedim ve hala orada. Bir yerde kodlanmış olmalı, ama tam olarak nerede olduğundan emin değilim.
Linux Maksimum Dosya Sayısı / Dosya Tanımlayıcılarının (FD) Artışı makalesine göre, giriş ekleyerek açık dosya limitini artırabilirsiniz /etc/sysctl.conf
.
Aşağıdaki şekilde bir config yönergesi ekleyin:
fs.file-max = 100000
Sonra dosyayı kaydedin ve kapatın. Kullanıcıların değişikliklerin etkili olması için çıkış yapıp tekrar giriş yapması gerekir veya aşağıdaki komutu yazabilirler:
# sysctl -p
Ayarlarınızı ayrıca şu komutla da doğrulayabilirsiniz:
# cat /proc/sys/fs/file-max
Linux'ta maksimum ulimit açık dosya sayısını arttırın
1.Adım: açın sysctl.conf
ve bu satırı ekleyin fs.file-max = 65536
$ vi /etc/sysctl.conf
yeni satır ekle ve
fs.file-max = 65536
kaydet ve çık.
2.Step:
$ vi /etc/security/limits.conf
ve belirtilen
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
kaydet ve çık kontrol max açık dosya ulimit
# ulimit -a
....
open files (-n) 65535
Ancak, MariaDB veya başka bir şey ( systemd kullanarak ) gibi bir hizmetin maksimum açık dosya sayısını arttırmaya çalışıyorsanız, doğrudan dosyada .service yapmanız gerekir.
/lib/systemd/system/<servicename>.service
Böyle bir şey olacak:
[Unit]
Description=Some Daemon
After=syslog.target network.target
[Service]
Type=notify
LimitNOFILE=49152
ExecStart=/usr/sbin/somedaemon
[Install]
WantedBy=multi-user.target
Tamamen cevap burada: CentOS 7'de systemd tarafından başlatılan işlemler için nproc artırılması
systemd
Linux ekosisteminde devam etmekte olan değişikliklerle birlikte her yerde bulunmaların artması nedeniyle bunun iyileştirilmesi gerekiyor . Bununla birlikte, cp -r /lib/systemd/system/mariadb.service /etc/systemd/system/
paket tarafından sağlanan sistem genelinde servis dosyası yerine , cevabını düzenlemenizi ve bu dosyada değişiklik yapmanızı öneririm .
suplement:
Config'u farklı bir yerde bulabilirsiniz: /etc/security/limits.d/*.conf
Bunu değiştirmek zorunda kaldım. Onsuz işe yaramadı. Biçim ile aynıdırlimits.conf