Bu konu, SSH kullanarak bir Linux Elastic Compute Service (ECS) örneğine bağlanırken "could not set limit for 'nofile': Operation not permitted" hata iletisinin alınmasına neden olan sorunun sebebini ve çözümünü açıklar.
Sorun açıklaması
SSH kullanarak bir Linux ECS örneğine bağlandığınızda aşağıdaki hata iletisi görüntülenir:
-bash: fork: retry: Resource temporarily unavailable.
pam_limits(sshd:session): could not sent limit for 'nofile':operation not permitted.
Permission denied.
Neden
Linux çekirdeğindeki /etc/security/limits.conf adlı kaynak sınırı yapılandırma dosyasındaki nofile değeri çok büyüktür ve çekirdeğin açabileceği maksimum dosya sayısını aşar. Bu nedenle, Linux ECS örneğine SSH kullanarak bağlanamazsınız.
Çözüm
Önceki sorunu çözmek için iş gereksinimlerinize göre /etc/sysctl.conf veya /etc/security/limits.conf yapılandırma dosyasını değiştirebilirsiniz.
-
Sanal Ağ Bilgisayarı (VNC) kullanarak Linux ECS örneğine bağlanın.
Daha fazla bilgi için bkz. ECS örnekleri için uzaktan bağlantı yöntemleri.
-
fs.file-max ve fs.nr_open parametrelerinin değerlerini görüntülemek için aşağıdaki komutları çalıştırın.
-
/etc/sysctl.conf yapılandırma dosyasını değiştirin.
-
/etc/sysctl.conf yapılandırma dosyasını açın.
vim /etc/sysctl.conf Ekleme moduna girmek için
Ituşuna basın.-
fs.file-max ve fs.nr_open parametrelerinin değerlerini değiştirin.
fs.file-max ve fs.nr_open parametrelerinin değerlerini 65536'dan büyük bir değerle değiştirmenizi öneririz.
fs.file-max: Çekirdekteki tüm işlemler tarafından açılabilecek dosya sayısı.fs.nr_open: Çekirdekte tek bir işlem tarafından açılabilecek dosya sayısı.
Notfs.file-max = 655360 fs.nr_open = 655360
-
-
/etc/security/limits.conf yapılandırma dosyasını değiştirin.
-
/etc/security/limits.conf yapılandırma dosyasını açın.
vim /etc/security/limits.conf Ekleme moduna girmek için
Ituşuna basın.-
soft nofile ve * hard nofile parametrelerinin değerlerini değiştirin.
Örneğin,
* soft nofileve* hard nofileparametrelerinin değerlerini 65535'ten büyük değerlerle değiştirin.* soft nofile 655350 * hard nofile 655350
-
-
ECS örneğini yeniden başlatın.
Daha fazla bilgi için bkz. Bir örneği başlatma.
-
fs.file-maxvefs.nr_openparametrelerinin değerlerinin değişip değişmediğini kontrol etmek için aşağıdaki komutları sırayla çalıştırın:cat /proc/sys/fs/file-max cat /proc/sys/fs/nr_open