Todos os produtos
Search
Central de documentação

Alibaba Cloud Linux:O que fazer se o valor de retorno de Send-Q for 0 após executar o comando ss em uma instância Alibaba Cloud Linux 2?

Última atualização: Jun 29, 2026

Ao executar ss -lnt em uma instância Elastic Compute Service (ECS) com Alibaba Cloud Linux 2 e observar Send-Q com valor 0 para todos os sockets em escuta, saiba que isso é uma limitação conhecida do kernel, não um problema de rede. Atualize o kernel para resolver essa situação.

Sintomas

A execução de ss -lnt gera uma saída semelhante à abaixo, em que Send-Q apresenta 0 em todas as entradas:

# ss -lnt
State       Recv-Q Send-Q   Local Address:Port   Peer Address:Port
LISTEN      0      0                    *:35107               *:*
LISTEN      0      0                    *:38727               *:*
LISTEN      0      0                    *:5355                *:*
LISTEN      0      0                    *:111                 *:*

Em um socket TCP em escuta, Send-Q indica o tamanho máximo do syn backlog, ou seja, a quantidade máxima de solicitações de conexão pendentes que o socket consegue enfileirar. Esse valor deve ser sempre diferente de zero em um sistema íntegro.

Versões afetadas

Esse problema afeta instâncias que executam as seguintes versões:

Componente

Versões afetadas

Imagem

aliyun-2.1903-x64-20G-alibase-20190507.vhd ou anterior

Kernel

4.19.43-13.al7.x86_64 ou anterior

Para verificar a versão atual do kernel, execute:

uname -r

Causa

O módulo de kernel tcp_diag não está presente no kernel 4.19.43-13.al7.x86_64 nem em versões anteriores. Sem o tcp_diag, o comando ss recorre à leitura de /proc/net/tcp (prática não recomendada). Nesse modo alternativo, o valor de tx_queue para sockets TCP em escuta é sempre 0, o que faz Send-Q exibir 0.

Pré-requisitos

Antes de atualizar o kernel:

  • Faça backup dos dados críticos da instância.

  • Consulte as notas de versão do Alibaba Cloud Linux 2 para compreender as alterações de compatibilidade na versão de kernel de destino.

  • Agende a atualização para horários de menor movimento e minimize o impacto nos serviços.

Aviso

Atualizações de kernel podem introduzir problemas de compatibilidade e estabilidade. Leia as notas de versão antes de continuar. Reiniciar a instância interrompe temporariamente seu funcionamento e pode afetar serviços em execução, causando perda de dados. Faça backup dos dados críticos antes de reiniciar.

Solução

Etapa 1: Confirme a ausência do módulo tcp_diag

sudo lsmod | grep tcp_diag

Analise a saída conforme descrito abaixo:

  • Sem saída: O módulo tcp_diag não está carregado. Isso confirma a causa raiz. Prossiga para a etapa 2.

  • Saída exibida: O módulo está carregado. O valor 0 em Send-Q tem outra origem. Investigue mais antes de prosseguir.

Etapa 2: Atualize o kernel

sudo yum update kernel

Etapa 3: Reiniciar a instância

sudo reboot

Após reinicializar a instância com o novo kernel, o módulo tcp_diag passa a estar incluído e o comando ss -lnt retorna valores precisos para Send-Q.