Este tópico descreve a causa e a solução para o problema em que a mensagem de erro "could not set limit for 'nofile': Operation not permitted" aparece ao conectar a uma instância Linux do Elastic Compute Service (ECS) por SSH.
Descrição do problema
Ao conectar a uma instância Linux do ECS por SSH, a seguinte mensagem de erro aparece:
-bash: fork: retry: Resource temporarily unavailable.
pam_limits(sshd:session): could not sent limit for 'nofile':operation not permitted.
Permission denied.Causa
O valor de nofile no arquivo de configuração de limites de recursos /etc/security/limits.conf do kernel Linux é muito grande e excede o número máximo de arquivos que o kernel pode abrir. Por isso, não é possível conectar à instância Linux do ECS por SSH.
Solução
Modifique o arquivo de configuração /etc/sysctl.conf ou /etc/security/limits.conf de acordo com seus requisitos de negócio para resolver esse problema.
Conecte-se à instância Linux do ECS por Virtual Network Computing (VNC).
Para mais informações, consulte Métodos de conexão remota para instâncias do ECS.
Execute os seguintes comandos para visualizar os valores dos parâmetros
fs.file-maxefs.nr_open.Modifique o arquivo de configuração
/etc/sysctl.conf.Abra o arquivo de configuração
/etc/sysctl.conf.vim /etc/sysctl.confPressione a tecla
Ipara entrar no modo de inserção.Altere os valores dos parâmetros
fs.file-maxefs.nr_open.Recomenda-se alterar os valores dos parâmetros
fs.file-maxefs.nr_openpara um valor maior que 65.536.fs.file-max: o número de arquivos que todos os processos do kernel podem abrir.fs.nr_open: o número de arquivos que um único processo do kernel pode abrir.
nullfs.file-max = 655360 fs.nr_open = 655360
Modifique o arquivo de configuração
/etc/security/limits.conf.Abra o arquivo de configuração
/etc/security/limits.conf.vim /etc/security/limits.confPressione a tecla
Ipara entrar no modo de inserção.Altere os valores dos parâmetros
* soft nofilee* hard nofile.Por exemplo, altere os valores dos parâmetros
* soft nofilee* hard nofilepara valores maiores que 65.535.* soft nofile 655350 * hard nofile 655350
Reinicie a instância do ECS.
Para mais informações, consulte Iniciar uma instância.
Execute os seguintes comandos em sequência para verificar se os valores dos parâmetros
fs.file-maxefs.nr_openforam alterados:cat /proc/sys/fs/file-max cat /proc/sys/fs/nr_open