2016-09-15 32 views
8

Ubuntu 14.04'ten 16.04'e geçtikten sonra yeni redis sunucumuzla ilgili sorunlar yaşıyorum. tüm kılavuzları kullanarak açık dosyaları limitinin yapılandırma /etc/pam.d/common-session eklemek için aşağıdaki ayarlarla Ubuntu 16.04 sistem hatası redim ile ilgili sorunlar

* soft nofile 65535 
* hard nofile 65535 
root soft nofile 65535 
root hard nofile 65535 

Ve ayrıca /etc/security/limits.conf değiştirmek diyor ve

session required pam_limits.so 

/etc/pam.d/common-session-noninteractive ben bu değişikliklerin ancak REDIS tüm yaptık hala üretim yükü altında hızla maksimum bağlantıları ulaşmak 4096 dosya limiti ile başlıyor.

cevap

21

Nihayetinde arama yaptıktan sonra, systemd'nin standart bir 4096 limiti olduğunu ve sistem düzeyinde ayarladığınızdan bağımsız olarak, sistemd seviyesinin her zaman önceliğini alacağını buldum. Bunun için düzeltme /etc/systemd/system.conf düzenleyip ekleyerek systemd açık dosya sınırını değiştirmek için aşağıdaki ayarı

DefaultLimitNOFILE=65536 

sistemi yeniden systemd varsayılan ayarlarının bir sürü gibi görünüyor Bu nedenle, sistem kullanıcıları için, tüm kullanıcılar için herhangi bir kullanım varsa, üretim redis'i çalıştırmak için bir Ubuntu 16.04 sunucusu için son ayarlarım varsa.

Düzenleme /etc/systemd/system.conf (sudo nano /etc/systemd/system.conf) ve

DefaultLimitNOFILE=65536 

Düzenleme /etc/security/limits.conf (sudo nano/etc/güvenlik eklemek /limits.conf) ve

* soft nofile 64000 
* hard nofile 64000 
root soft nofile 64000 
root hard nofile 64000 

Düzenleme /etc/pam.d/common-session (sudo nano /etc/pam.d/common-session) ekleyin ve eklemek

session required pam_limits.so 

Düzenleme/ve c/pam.d/common-session-etkileşimli olmayan (sudo nano /etc/pam.d/common-session-noninteractive) vb

session required pam_limits.so 

Düzenleme /etc/rc.local (sudo nano/add/rc .yerel) ve

sysctl -w net.core.somaxconn=65535 

düzenleme /etc/sysctl.conf (sudo nano /etc/sysctl.conf) ekleyin ve

vm.overcommit_memory = 1 

düzenleme /etc/rc.local (sudo nano/etc ekleme /rc.local) ve

'i ekleyin.
echo never > /sys/kernel/mm/transparent_hugepage/enabled 
+0

Harika cevap! DefaultLimitNOFILE eksik olduğum şeydir. – redgeoff

+0

Teşekkürler. Bu karşılaştığım tüm sorunları ele aldı. Mükemmel. – user785717