Table des matières

Introduction

Fond

Étapes à suivre pour enquêter

Étape 1. Observez les symptômes

KNI : journaux de mémoire insuffisante

Échecs de chemin EGTPC

Étape 2. Vérification de la dégradation de l'intégrité du réseau DI

show session recovery status verbose

show cloud monitor di-network detail

show cloud monitor controlplane

show cloud monitor dataplane

Étape 3. Vérifier les abandons KNI de l'espace utilisateur

show iftask stats

Étape 4. Vérification des pilotes matériels

Résumé

Introduction

Ce document décrit comment déterminer si StarOS KNI : Out of Memory logs sont causés par des problèmes dans l'application StarOS ou par des pilotes matériels.

Fond

Le module Kernel Network Interface (KNI), dans le processus DPDK Internal Forwarder (IFTASK), est un mécanisme qui permet aux programmes d'espace utilisateur de recevoir des paquets directement à partir d'une interface réseau, en contournant complètement la mise en réseau Linux et la pile IP Linux.

KNI : des avertissements de limitation de débit des journaux de mémoire insuffisante sont générés en cas de conflit de ressources affectant le module KNI.

1. Les tampons de mémoire ne sont pas effacés au niveau sans système d'exploitation (matériel), ce qui provoque un dépassement de capacité du tampon.

2. Les pools KNI, à partir desquels iftask alloue la mémoire tampon de message pour ces paquets, sont à court d'espace.

3. La fonction virtuelle demande plus de paquets, mais la fonction physique répond qu'elle n'a rien.

4. Une fois que la condition KNI : Out of Memory se produit, la tâche if va dans le pool de mémoire de sauvegarde pour allouer et traiter le paquet plus loin. Si le pool de sauvegarde manque également de mémoire, le système abandonne les paquets.

5. Comme la iftask ne peut pas lire la rafale de paquets provenant du noyau, le journal KNI : Out of Memory est produit sur StarOS.

Déclencheurs pour KNI : état de mémoire insuffisante :

Les déclencheurs potentiels de la condition de débordement de la mémoire tampon peuvent varier, comme l'exécution d'applications SFTP ou SCP ou un transfert de fichiers très important entre les cartes CF et SF.

Étapes à suivre pour enquêter

Étape 1. Observez les symptômes

Étape 2. Vérification de la dégradation de l'intégrité du réseau DI

Étape 3. Vérifier les abandons KNI de l'espace utilisateur

Étape 4. Vérification des pilotes matériels

Étape 1. Observez les symptômes

Corrélez la synchronisation des erreurs KNI : Out of Memory avec d'autres symptômes, tels que des pertes de paquets ou des dégradations de la couche application (défaillances du chemin egtpc).

KNI : journaux de mémoire insuffisante

- Dans les Syslogs de StarOS, vous pouvez voir des journaux indiquant que l'interface réseau du noyau est à court de mémoire.

2023-Nov-16+09:18:03.205 [iftask 214701 error] [1/0/9602 <evlogd:0> evlgd_syslogd.c:236] [software internal system syslog] CPU[3/0]: Nov 16 14:18:03 iftask[7387]: KNI: Out of memory, kni port cpbond0, socket_id=0, total=-130952296, iter=27

- Si la mémoire de sauvegarde est épuisée, vous pouvez voir des messages d'erreur indiquant que la mémoire du pool de sauvegarde est également épuisée.

RTE_LOG(ERR, KNI, "Out of memory from Backup pool, kni port %s, socket_id=%d, total=%d, iter=%d\n", kni->name, rte_socket_id(), kni->oom_backup_warn, i)

- Dans les journaux IFTask, trouvés dans le répertoire tmp dans le shell de débogage, vous pouvez observer les erreurs KNI : Out of Memory :

Wed Nov 15 17:20:30 2023 PID:7387 KNI: Out of memory, kni port cpbond0, socket_id=0, total=-759247296, iter=25

Échecs de chemin EGTPC

- Des pics dans les pannes de chemin gtpc vers divers homologues peuvent se produire avec la cause Aucune réponse de l'homologue peut se produire pendant le temps des pertes de paquets.

2023-10-23T00:14:33.813+00:00 Nodename evlogd: [local-60sec33.780] [egtpmgr 143137 info] [6/0/12364 <egtpegmgr:3> egtpmgr_pm.c:905] [context: mme_ctx, contextID: 3]  [software internal system critical-info syslog] context: mme_ctx, service : mme_svc_egtp, self addr: <X.X.X.X>, GTP-C path failure for peer <Y.Y.Y.Y>, peer session count marked: 0, egtpmgr state SRP_SESS_STATE_ACTIVE

Étape 2. Vérification de la dégradation de l'intégrité du réseau DI

Localisez les connexions qui subissent la dégradation. Si les résultats de l'état du réseau DI sont observés de manière durable, des pourcentages de perte ou de chute plus élevés peuvent indiquer des problèmes de configuration ou d'exploitation du réseau DI, une surcharge de trafic ou des problèmes de VM ou d'hôte.

show session recovery status verbose

- Utilisez les sorties verbeuses show session recover status pour identifier quelle carte de fonction virtuelle sert de carte Demux.

******** show session recovery status verbose *******

Tuesday October 24 11:23:45 EDT 2023

Session Recovery Status:

Overall Status        : Ready For Recovery

Last Status Update    : 1 second ago

----sessmgr---  ----aaamgr----  demux

cpu state    active standby  active standby  active  status

---- -------  ------ -------  ------ -------  ------  -------------------------

3/0 Active   24     1        24     1        0       Good

4/0 Active   24     1        24     1        0       Good

5/0 Active   24     1        24     1        0       Good

6/0 Active   0      0        0      0        10      Good (Demux)

7/0 Active   24     1        24     1        0       Good

8/0 Active   24     1        24     1        0       Good

9/0 Active   24     1        24     1        0       Good

10/0 Active   24     1        24     1        0       Good

11/0 Active   24     1        24     1        0       Good

12/0 Standby  0      24       0      24       0       Good

show cloud monitor di-network detail

- Utilisez les sorties « show cloud monitor di-network detail » pour identifier les connexions DI-network entre les cartes de fonction virtuelles qui ont des chutes dans les pulsations.

- Les chutes de pulsations des cartes CF et SF vers la carte SF 6 sont affichées. Les sorties des cartes CF et SF vers les autres cartes CF et SF ne montrent aucune baisse de pulsation.

******** show cloud monitor di-network detail *******

Tuesday October 24 11:23:51 EDT 2023

Card 1 Heartbeat Results:

ToCard   Health     5Min-Loss     60Min-Loss

------   -------    ---------     ----------

…

6      Good        0.00%         0.66%

…

Card 2 Heartbeat Results:

…

6       Bad       14.67%         3.50%

…

Card 3 Heartbeat Results:

…

6       Bad        5.35%         2.69%

…

Card 4 Heartbeat Results:

…

6      Good        0.00%         0.00%

…

Card 5 Heartbeat Results:

…

6       Bad       18.57%         3.90%

…

Card 6 Heartbeat Results:

…

1      Good        0.00%         0.90%

2       Bad       12.63%         3.31%

3       Bad        2.90%         2.14%

4      Good        0.00%         0.00%

5       Bad       13.09%         3.30%

7      Good        0.00%         0.00%

8       Bad        2.91%         2.20%

9      Good        0.00%         0.93%

10       Bad       14.28%         3.38%

11       Bad        3.67%         2.09%

12      Good        0.00%         0.00%

…

Card 7 Heartbeat Results:

…

6      Good        0.00%         0.00%

…

Card 8 Heartbeat Results:

…

6       Bad        7.47%         2.85%

…

Card 9 Heartbeat Results:

…

6       Bad        0.00%         1.07%

…

Card 10 Heartbeat Results:

…

6       Bad       16.01%         3.73%

…

Card 11 Heartbeat Results:

…

6       Bad        7.47%         2.71%

…

Card 12 Heartbeat Results:

…

6      Good        0.00%         0.00%

show cloud monitor controlplane

- Utilisez les sorties show cloud monitor control pour identifier les connexions réseau DI qui présentent une dégradation.

******** show cloud monitor controlplane *******

Tuesday October 24 11:24:22 EDT 2023

Cards      15 Second Interval     5 Minute Interval    60 Minute Interval

Src  Dst    Xmit   Recv  Miss%    Xmit   Recv  Miss%    Xmit   Recv  Miss%

---  ---  ------ ------ ------  ------ ------ ------  ------ ------ ------

…

01   06      75     75   0.0%    1500   1500   0.0%   18000  17842   0.9%

…

02   06      75     75   0.0%    1500   1265  15.7%   18000  17546   2.5%

…

03   06      75     75   0.0%    1500   1396   6.9%   18000  17491   2.8%

…

04   06      75     75   0.0%    1500   1500   0.0%   18000  18000   0.0%

…

05   06      75     75   0.0%    1500   1267  15.5%   18000  17325   3.8%

…

06   01      75     75   0.0%    1500   1500   0.0%   18000  17823   1.0%

06   02      75     75   0.0%    1500   1301  13.3%   18000  17567   2.4%

06   03      75     75   0.0%    1500   1419   5.4%   18000  17561   2.4%

06   04      75     75   0.0%    1500   1500   0.0%   18000  18000   0.0%

06   05      75     75   0.0%    1500   1294  13.7%   18000  17579   2.3%

06   07      75     75   0.0%    1500   1500   0.0%   18000  18000   0.0%

06   08      75     75   0.0%    1500   1417   5.5%   18000  17565   2.4%

06   09      75     75   0.0%    1500   1500   0.0%   18000  17824   1.0%

06   10      75     75   0.0%    1500   1296  13.6%   18000  17573   2.4%

06   11      75     75   0.0%    1500   1422   5.2%   18000  17570   2.4%

06   12      75     75   0.0%    1500   1500   0.0%   18000  18000   0.0%

…

07   06      75     75   0.0%    1500   1500   0.0%   18000  18000   0.0%

…

08   06      75     75   0.0%    1500   1426   4.9%   18000  17545   2.5%

…

09   06      75     75   0.0%    1500   1500   0.0%   18000  17833   0.9%

…

10   06      75     75   0.0%    1500   1278  14.8%   18000  17369   3.5%

…

11   06      75     75   0.0%    1500   1408   6.1%   18000  17481   2.9%

…

12   06      75     75   0.0%    1500   1500   0.0%   18000  18000   0.0%

show cloud monitor dataplane

- Utilisez les sorties du plan de données show cloud monitor pour identifier les connexions réseau DI présentant des dégradations et pour identifier les dégradations unidirectionnelles entre les cartes de fonction virtuelles.

******** show cloud monitor dataplane *******

Tuesday October 24 11:21:46 EDT 2023

Cards      15 Second Interval     5 Minute Interval    60 Minute Interval

Src  Dst    Miss    Hit    Pct    Miss    Hit    Pct    Miss    Hit    Pct

---  ---  ------ ------ ------  ------ ------ ------  ------ ------ ------

…

06   01       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

…

06   02       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

…

06   03       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

…

06   04       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

…

06   05       1    149   0.7%       0   3001   0.0%       0  36000   0.0%

…

01   06       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

02   06       0    150   0.0%     210   2790   7.0%    1015  34985   2.8%

03   06      31    119  20.7%     540   2460  18.0%     995  35005   2.8%

04   06      34    116  22.7%     554   2446  18.5%    1017  34983   2.8%

05   06       0    150   0.0%     213   2787   7.1%     991  35009   2.8%

07   06       0    150   0.0%       0   3000   0.0%     359  35641   1.0%

08   06      29    121  19.3%     546   2454  18.2%    1009  34991   2.8%

09   06       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

10   06       0    150   0.0%     208   2792   6.9%     992  35008   2.8%

11   06      31    119  20.7%     548   2452  18.3%     993  35007   2.8%

12   06      34    116  22.7%     547   2453  18.2%    1001  34999   2.8%

…

06   07       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

…

06   08       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

…

06   09       0    150   0.0%       0   3000   0.0%       1  35999   0.0%

…

06   10       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

…

06   11       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

…

06   12       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

Étape 3. Vérifier les abandons KNI de l'espace utilisateur

show iftask stats

- Collecter plusieurs fois les sorties show iftask stats pour vérifier que les abandons KNI n'augmentent pas au niveau de l'application d'espace utilisateur IFTASK (StarOS).

******** show iftask stats *******

Tuesday October 24 11:22:06 EDT 2023

…

CARD 6 STATS

---------------------------------------------------------------------------

Counters  SF6   SF6_PPS

---------------------------------------------------------------------------

svc_rx                          2587301598                      2203

svc_tx                          548969428                       295

di_rx                           2260147059                      2258

di_tx                           4072038717                      3966

__ALL_DROPS__                   0                               0

svc_tx_drops                    0                               0

di_rx_drops                     0                               0

di_tx_drops                     0                               0

sw_rss_enq_drops                0                               0

kni_thread_drops                0                               0

kni_drops                       0                               0

mcdma_drops                     0                               0

mux_deliver_hop_drops           0                               0

mux_deliver_drops               0                               0

mux_xmit_failure_drops          0                               0

mc_dma_thread_enq_drops         0                               0

sw_tx_egress_enq_drops          0                               0

cpeth0_drops                    0                               0

mcdma_summary_drops             0                               0

fragmentation_err               0                               0

reassembly_err                  0                               0

reassembly_ring_enq_err         0                               0

__DISCARDS__                    241984                          0

__BOND_DISCARDS__               55282718                        142

…

TOTAL STATS

---------------------------------------------------------------------------

Counters TOTAL  TOTAL_PPS

---------------------------------------------------------------------------

svc_rx                          27964563261                     24791

svc_tx                          36109966153                     30168

di_rx                           74133486629                     51929

di_tx                           73958155063                     50897

__ALL_DROPS__                   0                               0

svc_tx_drops                    0                               0

di_rx_drops                     0                               0

di_tx_drops                     0                               0

sw_rss_enq_drops                0                               0

kni_thread_drops                0                               0

kni_drops                       0                               0

mcdma_drops                     0                               0

mux_deliver_hop_drops           0                               0

mux_deliver_drops               0                               0

mux_xmit_failure_drops          0                               0

mc_dma_thread_enq_drops         0                               0

sw_tx_egress_enq_drops          0                               0

cpeth0_drops                    0                               0

mcdma_summary_drops             0                               0

fragmentation_err               0                               0

reassembly_err                  0                               0

reassembly_ring_enq_err         0                               0

__DISCARDS__                    2324968                         0

__BOND_DISCARDS__               55635534                        149

-----------------------------------------------------------------------------------------------

NDR is      100.0000

CONTINUE_TRAFFIC

-----------------------------------------------------------------------------------------------

Étape 4. Vérification des pilotes matériels

Une fois la couche application dégagée de toute culpabilité, concentrez-vous sur les pilotes sous-jacents au niveau matériel pour résoudre les erreurs KNI : Out of Memory.

Étant donné que le pilote matériel sans système d'exploitation alloue une certaine quantité de mémoire tampon pour chaque fonction virtuelle, les problèmes de conflit de ressources sont généralement le résultat d'une non-correspondance de pilote ou de pilotes défectueux au niveau matériel. Le pilote matériel défectueux qui a alloué les tampons nécessaires à une application n'a pas libéré la mémoire.

Si des logiciels et/ou du matériel de virtualisation tiers (non Cisco) sont utilisés, recherchez dans les versions et les pilotes des incohérences ou des défauts de compatibilité potentiels.

Résumé

Pour déterminer si les erreurs KNI : Out of Memory, sont causées par des processus au niveau de l'application ou par des pilotes matériels sous-jacents, recherchez des preuves de dégradation du réseau DI et d'abandon KNI de l'espace utilisateur. Si la dégradation du réseau DI existe sans dégradation KNI correspondante de l'espace utilisateur, on peut conclure que la cause est au niveau matériel. KNI : des erreurs de mémoire insuffisante avec dégradation du niveau matériel indiquent des pilotes matériels défectueux.

Un déchargement du noeud et un rechargement des ordinateurs hôtes sur lesquels réside la fonction virtuelle StarOS au niveau de l'application concernée peuvent temporairement effacer les mémoires tampons sur l'ordinateur sous-jacent, ce qui entraîne une réduction temporaire des erreurs et des pertes de paquets. Mais ce n'est pas une solution permanente ! Pertes de paquets et KNI : les erreurs de mémoire insuffisante se reproduisent lorsque la condition de débordement de la mémoire tampon se reproduit sur le pilote matériel défectueux.