Cette rubrique décrit la cause et la solution du problème suivant : le message d'erreur « could not set limit for 'nofile': Operation not permitted » s'affiche lorsque vous vous connectez à une instance Elastic Compute Service (ECS) Linux via SSH.
Description du problème
Lorsque vous vous connectez à une instance ECS Linux via SSH, le message d'erreur suivant s'affiche :
-bash: fork: retry: Resource temporarily unavailable.
pam_limits(sshd:session): could not sent limit for 'nofile':operation not permitted.
Permission denied.
Cause
La valeur nofile définie dans le fichier de configuration des limites de ressources /etc/security/limits.conf est trop élevée et dépasse le nombre maximal de fichiers que le noyau Linux peut ouvrir. Par conséquent, la connexion SSH à l'instance ECS Linux échoue.
Solution
Pour résoudre ce problème, modifiez le fichier de configuration /etc/sysctl.conf ou /etc/security/limits.conf selon vos besoins métier.
-
Connectez-vous à l'instance ECS Linux via Virtual Network Computing (VNC).
Pour plus d'informations, consultez la rubrique Méthodes de connexion à distance aux instances ECS.
-
Exécutez les commandes suivantes pour afficher les valeurs des paramètres fs.file-max et fs.nr_open.
-
Modifiez le fichier de configuration /etc/sysctl.conf.
-
Ouvrez le fichier de configuration /etc/sysctl.conf.
vim /etc/sysctl.conf Appuyez sur la touche
Ipour passer en mode Insertion.-
Modifiez les valeurs des paramètres fs.file-max et fs.nr_open.
Nous vous recommandons de définir les valeurs des paramètres fs.file-max et fs.nr_open sur un nombre supérieur à 65536.
fs.file-max: nombre maximal de fichiers pouvant être ouverts par l'ensemble des processus du noyau.fs.nr_open: nombre maximal de fichiers pouvant être ouverts par un seul processus du noyau.
Remarquefs.file-max = 655360 fs.nr_open = 655360
-
-
Modifiez le fichier de configuration /etc/security/limits.conf.
-
Ouvrez le fichier de configuration /etc/security/limits.conf.
vim /etc/security/limits.conf Appuyez sur la touche
Ipour passer en mode Insertion.-
Modifiez les valeurs des paramètres soft nofile et hard nofile.
Par exemple, définissez les valeurs des paramètres
* soft nofileet* hard nofilesur un nombre supérieur à 65535.* soft nofile 655350 * hard nofile 655350
-
-
Redémarrez l'instance ECS.
Pour plus d'informations, consultez la rubrique Démarrer une instance.
-
Exécutez les commandes suivantes dans l'ordre pour vérifier si les valeurs des paramètres
fs.file-maxetfs.nr_openont été modifiées :cat /proc/sys/fs/file-max cat /proc/sys/fs/nr_open