Tous les produits
Search
Centre de documentation

Alibaba Cloud Linux:Que faire si la valeur Send-Q est 0 après l'exécution de la commande ss sur une instance Alibaba Cloud Linux 2 ?

Dernière mise à jour :Aug 12, 2026

Si, lors de l'exécution de ss -lnt sur une instance Elastic Compute Service (ECS) Alibaba Cloud Linux 2, Send-Q affiche 0 pour tous les sockets en écoute, il s'agit d'une limitation connue du noyau et non d'un problème réseau. La mise à jour du noyau résout ce problème.

Symptômes

La commande ss -lnt produit un résultat similaire à l'exemple suivant, où Send-Q vaut 0 pour toutes les entrées :

# 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                 *:*

Pour un socket TCP en écoute, Send-Q correspond à la taille maximale de la file d'attente syn, c'est-à-dire le nombre maximal de requêtes de connexion en attente que le socket peut mettre en file d'attente. Cette valeur est toujours non nulle sur un système sain.

Versions concernées

Ce problème concerne les instances exécutant les versions suivantes :

Composant Versions concernées
Image aliyun-2.1903-x64-20G-alibase-20190507.vhd ou antérieure
Noyau 4.19.43-13.al7.x86_64 ou antérieur

Pour vérifier la version actuelle de votre noyau, exécutez la commande suivante :

uname -r

Cause

Le module noyau tcp_diag n'est pas inclus dans le noyau 4.19.43-13.al7.x86_64 ni dans les versions antérieures. En l'absence de tcp_diag, la commande ss lit par défaut les données depuis /proc/net/tcp (méthode non recommandée). Dans ce mode de repli, la valeur tx_queue des sockets TCP en écoute est systématiquement 0, ce qui force Send-Q à afficher 0.

Prérequis

Avant de mettre à jour le noyau :

  • Sauvegardez toutes les données critiques présentes sur l'instance.

  • Consultez les notes de version d'Alibaba Cloud Linux 2 pour prendre connaissance des changements de compatibilité introduits dans la version cible du noyau.

  • Planifiez la mise à jour en dehors des heures de pointe afin de minimiser l'impact sur le service.

Avertissement

Les mises à jour du noyau peuvent entraîner des problèmes de compatibilité et de stabilité. Consultez les notes de version avant de poursuivre. Le redémarrage de l'instance provoque son arrêt temporaire et risque d'interrompre les services en cours d'exécution, ce qui peut causer une perte de données. Sauvegardez vos données critiques avant tout redémarrage.

Solution

Étape 1 : Confirmer l'absence du module tcp_diag

sudo lsmod | grep tcp_diag

Interprétez le résultat comme suit :

  • Aucun résultat : Le module tcp_diag n'est pas chargé. Cela confirme la cause racine ; passez à l'étape 2.

  • Résultat affiché : Le module est chargé. La valeur 0 de Send-Q a une autre origine. Poursuivez vos investigations avant de continuer.

Étape 2 : Mettre à jour le noyau

sudo yum update kernel

Étape 3 : Redémarrer l'instance

sudo reboot

Une fois l'instance redémarrée avec le nouveau noyau, le module tcp_diag est intégré et ss -lnt retourne des valeurs Send-Q correctes.