Topik ini menjelaskan penyebab dan solusi untuk masalah di mana pesan kesalahan "could not set limit for 'nofile': Operation not permitted" muncul saat Anda terhubung ke instance Elastic Compute Service (ECS) Linux menggunakan SSH.
Deskripsi Masalah
Saat Anda terhubung ke instance ECS Linux menggunakan SSH, pesan kesalahan berikut muncul:
-bash: fork: retry: Resource temporarily unavailable.
pam_limits(sshd:session): could not sent limit for 'nofile':operation not permitted.
Permission denied.Penyebab
Nilai nofile dalam file konfigurasi batasan sumber daya /etc/security/limits.conf pada kernel Linux terlalu besar dan melebihi jumlah maksimum file yang dapat dibuka oleh kernel. Akibatnya, Anda tidak dapat menggunakan SSH untuk terhubung ke instance ECS Linux.
Solusi
Anda dapat memodifikasi file konfigurasi /etc/sysctl.conf atau /etc/security/limits.conf sesuai dengan kebutuhan bisnis Anda untuk menyelesaikan masalah ini.
Terhubunglah ke instance ECS Linux menggunakan Virtual Network Computing (VNC).
Untuk informasi lebih lanjut, lihat Metode untuk terhubung ke instance ECS.
Jalankan perintah berikut untuk melihat nilai parameter
fs.file-maxdanfs.nr_open.Modifikasi file konfigurasi
/etc/sysctl.conf.Buka file konfigurasi
/etc/sysctl.conf.vim /etc/sysctl.confTekan tombol
Iuntuk masuk ke mode Insert.Ubah nilai parameter
fs.file-maxdanfs.nr_open.Kami merekomendasikan agar Anda mengubah nilai parameter
fs.file-maxdanfs.nr_openmenjadi nilai yang lebih besar dari 65.536.fs.file-max: Jumlah file yang dapat dibuka oleh semua proses di kernel.fs.nr_open: Jumlah file yang dapat dibuka oleh satu proses di kernel.
Catatanfs.file-max = 655360 fs.nr_open = 655360
Modifikasi file konfigurasi
/etc/security/limits.conf.Buka file konfigurasi
/etc/security/limits.conf.vim /etc/security/limits.confTekan tombol
Iuntuk masuk ke mode Insert.Ubah nilai parameter
* soft nofiledan* hard nofile.Sebagai contoh, ubah nilai parameter
* soft nofiledan* hard nofilemenjadi nilai yang lebih besar dari 65.535.* soft nofile 655350 * hard nofile 655350
Mulai ulang instance ECS.
Untuk informasi lebih lanjut, lihat Mulai sebuah instance.
Jalankan perintah berikut secara berurutan untuk memeriksa apakah nilai parameter
fs.file-maxdanfs.nr_opentelah diubah:cat /proc/sys/fs/file-max cat /proc/sys/fs/nr_open
Referensi
Apa yang harus saya lakukan jika saya tidak dapat terhubung ke instance Linux?