المقدمة
يوضح هذا المستند كيفية تحديد ما إذا كان StarOS kni: تحدث سجلات نفاد الذاكرة بسبب مشاكل في تطبيق StarOS أو بسبب برامج تشغيل الأجهزة.
الخلفية
تعد وحدة واجهة شبكة Kernel (KNI)، داخل عملية الموجه الداخلي DPDK (IFTASK)، آلية تسمح لبرامج مساحة المستخدم بتلقي الحزم مباشرة من واجهة شبكة، متجاوزة شبكة Linux وكدس IP ل Linux بالكامل.

كينغلي: يتم إنتاج تحذيرات تحدد معدل سجلات نفاد الذاكرة عندما يكون هناك مشكلة تزاحم موارد تؤثر على وحدة KNI.
- لا يتم مسح المخازن المؤقتة للذاكرة على مستوى الأجهزة الجديدة، مما يؤدي إلى تجاوز سعة التخزين المؤقت.
- تجمعات KNI، التي يخصص Iftask منها مخزن الرسائل المؤقت لهذه الحزم، نفدت المساحة.
- تقوم الدالة الظاهرية بالاستعلام عن المزيد من الحزم، ولكن تقوم الدالة المادية باستجابة أنها لا تحتوي على أي شيء.
- مرة kni: تحدث حالة نفاد الذاكرة، حيث يتم تنفيذ المهمة في تجمع ذاكرة النسخ الاحتياطي لتخصيص الحزمة ومعالجتها بشكل أكبر. إذا نفدت ذاكرة تجمع النسخ الاحتياطي أيضا، سيقوم النظام بإسقاط الحزم.
- لأن ifTask لا يستطيع قراءة اندفاع الحزم القادمة من kernel، ال kni: يتم إنشاء سجل نفاد الذاكرة على StarOS.
مشغلات KNI: حالة نفاد الذاكرة:
يمكن أن تختلف المشغلات المحتملة لحالة تجاوز سعة التخزين المؤقت، مثل تشغيل تطبيقات SFTP أو SCP أو نقل ملفات كبير جدا بين بطاقات CF و SF.
خطوات للتحقيق
الخطوة 1. لاحظ الأعراض
الخطوة 2. التحقق من تدهور صحة شبكة DI
الخطوة 3. التحقق من حالات إسقاط KNI ل UserSpace
الخطوة 4. افحص برامج تشغيل الأجهزة
الخطوة 1. لاحظ الأعراض
ربط توقيت KNI: نفاد أخطاء الذاكرة مع أعراض أخرى، مثل فقدان الحزم أو تدهور طبقة التطبيق (حالات فشل مسار EGTPC).
كينغلي: سجلات نفاد الذاكرة
- في syslogs لنظام التشغيل StarOS، يمكنك مشاهدة السجلات التي تشير إلى أن واجهة شبكة الخادم نفدت الذاكرة.
2023-Nov-16+09:18:03.205 [iftask 214701 error] [1/0/9602 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
- في حالة استنفاد ذاكرة النسخ الاحتياطي، يمكنك مشاهدة رسائل الخطأ التي تشير إلى أن ذاكرة تجمع النسخ الاحتياطي قد إستنفدت أيضا.
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)
- في سجلات IFTask، الموجودة في دليل TMP في طبقة تصحيح الأخطاء، يمكنك ملاحظة KNI: أخطاء نفاد الذاكرة:
Wed Nov 15 17:20:30 2023 PID:7387 KNI: Out of memory, kni port cpbond0, socket_id=0, total=-759247296, iter=25
حالات فشل مسار EGTPC
- يمكن أن تحدث زيادات في حالات فشل مسار GTPC إلى أقران مختلفين بسبب عدم إمكانية حدوث إستجابة من النظير أثناء وقت فقدان الحزمة.
2023-10-23T00:14:33.813+00:00 Nodename evlogd: [local-60sec33.780] [egtpmgr 143137 info] [6/0/12364 egtpmgr_pm.c:905] [context: mme_ctx, contextID: 3] [software internal system critical-info syslog] context: mme_ctx, service : mme_svc_egtp, self addr: , GTP-C path failure for peer , peer session count marked: 0, egtpmgr state SRP_SESS_STATE_ACTIVE
الخطوة 2. التحقق من تدهور صحة شبكة DI
حدد موقع الاتصالات التي تتعرض للتدهور. ويمكن أن تشير النسب المئوية للسقوط أو الخسارة الأعلى في نواتج سلامة الشبكة الرقمية عند النظر إليها على أساس مستدام إلى تكوين الشبكة الداخلية أو مشاكل التشغيل أو الحمل الزائد لحركة المرور أو مشاكل الأجهزة الافتراضية أو المضيف.
عرض عرض حالة إسترداد جلسة العمل
- أستخدم مخرجات show session recovery status verbose لتحديد بطاقة الوظيفة الظاهرية التي تعمل كبطاقة 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
- إستخدام مخرجات "show cloud monitor di-network detail" لتحديد إتصالات شبكة DI بين بطاقات الوظائف الظاهرية التي لها حالات سقوط في ضربات القلب.
- يتم عرض نبضات القلب من بطاقات CF و SF إلى بطاقة SF رقم 6. لا تظهر مخرجات بطاقات CF و SF إلى بطاقات CF و SF الأخرى حالات سقوط لنبضات القلب.
******** 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
- إستخدام إخراج show cloud monitor contolplane لتحديد إتصالات شبكة DI التي تعرضت للتدهور.
******** 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%
عرض مستوى بيانات مراقب السحابة
- إستخدام مخرجات لوحة بيانات مراقبة السحابة لتحديد أي من إتصالات شبكة DI قد تعرضت للتحلل ولتحديد أي تحلل في إتجاه واحد بين بطاقات الوظائف الظاهرية.
******** 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%
الخطوة 3. التحقق من حالات إسقاط KNI ل UserSpace
إظهار حالات IFtask
- جمع عرض إحصائيات IFtask إخراج عدة مرات للتحقق من أن عمليات إسقاط KNI لا تزيد في مستوى تطبيق UserSpace 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
-----------------------------------------------------------------------------------------------
الخطوة 4. افحص برامج تشغيل الأجهزة
مع تبرئة طبقة التطبيقات من المسؤولية، ركز على برامج التشغيل الأساسية على مستوى الأجهزة لمعالجة بنية الشبكة: أخطاء نفاد الذاكرة.
نظرا لأن برنامج تشغيل الأجهزة الجديدة يقوم بتخصيص كمية معينة من المخزن المؤقت لكل وظيفة افتراضية، فإن مشكلات التنازع على الموارد تكون عادة نتيجة عدم تطابق برنامج التشغيل أو برامج التشغيل المعيبة على مستوى الأجهزة. لم يقم برنامج تشغيل الأجهزة المعيب الذي قام بتخصيص المخازن المؤقتة التي كانت مطلوبة لتطبيق ما بإطلاق الذاكرة.
إذا كانت برامج المحاكاة الافتراضية و/أو الأجهزة من إنتاج جهة خارجية (غير Cisco) قيد الاستخدام، فابحث عن الإصدارات وبرامج التشغيل الخاصة بالتوافق المحتمل غير المتطابق أو الخلل.
ملخص
لتحديد ما إذا كان المعهد القومي البريطاني: أخطاء نفاد الذاكرة، تحدث بسبب العمليات على مستوى التطبيقات أو بسبب برامج تشغيل الأجهزة الأساسية، تحقق من دليل تدهور شبكة DI وانخفاضات KNI في مساحة المستخدم. في حالة وجود انخفاض في شبكة DI دون تحديد UserSpace KNI Degrade المقابل، يمكن إستنتاج أن السبب هو مستوى الأجهزة. كينغلي: تشير أخطاء نفاد الذاكرة مع عدم توفر مستوى المكونات المادية إلى وجود برامج تشغيل أجهزة معيبة.
يمكن لإلغاء تحميل العقدة وإعادة تحميل المضيف التي تستند إليها الوظيفة الظاهرية على مستوى التطبيق المتأثرة StarOS مسح مخازن الذاكرة المؤقتة على الكمبيوتر الأساسي، مما يؤدي إلى انخفاض مؤقت في الأخطاء وفقدان الحزم. ومع ذلك، هذا ليس حلا دائما - خسائر الحزم و kni: تظهر أخطاء نفاد الذاكرة، عند تكرار حالة تجاوز سعة التخزين المؤقت على برنامج تشغيل الأجهزة المعيب.