المقدمة
يصف هذا المستند تسريبات ذاكرة في سياق وحدة التحكم في الشبكة المحلية اللاسلكية (WLC) Cisco Catalyst 9800.
تسريب الذاكرة
عندما يقوم برنامج أو عملية بتخصيص الذاكرة للاستخدام المؤقت ولا تقوم بالتصرف فيها بشكل صحيح عندما لا تكون هناك حاجة إليها، فإن هذه الذاكرة تبقى "قيد الاستخدام" من منظور نظام التشغيل. مع إستمرار تشغيل العملية وفشلها بشكل متكرر في نقل وحدة الذاكرة، ينمو إجمالي كمية الذاكرة التي تستخدمها العملية، وتتوفر ذاكرة أقل للعمليات ووظائف النظام الأخرى. تحدث تسريبات الذاكرة عادة بسبب أخطاء البرامج أو مشكلات البرامج في البرامج الثابتة للنظام أو التطبيقات التي تعمل عليها.
في حالة وحدة التحكم في الشبكة المحلية اللاسلكية (WLC) طراز Cisco Catalyst 9800، يمكن أن يظهر تسريب الذاكرة كما يلي:
- انخفاض الأداء: مع تزايد ندرة الذاكرة، من المحتمل أن تتباطأ عنصر التحكم في الشبكة المحلية اللاسلكية (WLC)، مما يؤدي إلى بطء أوقات الاستجابة للوظائف الإدارية أو انخفاض أداء الأجهزة العميلة المتصلة بالشبكة.
- عدم إستقرار النظام: يمكن أن تبدأ العمليات الهامة في الفشل، مما قد يؤدي إلى انخفاض إتصالات العملاء أو عدم القدرة على إدارة عنصر التحكم في الشبكة المحلية اللاسلكية (WLC) أو غيرها من السلوكيات غير المنتظمة.
- تعطل النظام: في الحالات الشديدة، يمكن أن تتعطل وحدة التحكم في الشبكة المحلية اللاسلكية (WLC) ثم إعادة تشغيلها، وخاصة إذا نفدت الذاكرة الخاصة بالعمليات الأساسية.
ملاحظة: يمكن أن يواجه عنصر التحكم في الشبكة المحلية اللاسلكية (WLC) طراز 9800 عملية إعادة تشغيل/تعطل مفاجئة لاستعادة الذاكرة المسربة واستعادة نفسه. ونظرا لأن تسريب الذاكرة هو سلوك متعطل، فإن التسريبات تحدث حتى بعد إعادة التمهيد ما لم يتم تعطيل التسريب الذي يتسبب في التكوين/الميزة.
Syslog
٪PLATFORM-4-ELEMENT_WARNING:R0/0: smand: RP/0 Used Memory Value 91٪ يتجاوز مستوى التحذير 88٪
تقوم هذه الرسالة بطباعة اسم العملية التي تستهلك أكبر 3 ذاكرة بالإضافة إلى مكالمات Traceky و CallSite و diff:
٪PLATFORM-4-ELEMENT_WARNING: الهيكل 1 R0/0: smand: 1/RP/0: قيمة الذاكرة المستخدمة 91٪ تتجاوز مستوى التحذير 88٪. أفضل أدوات تخصيص الذاكرة هي: العملية: sessmgrd_rp_0. مفتاح التعقب: 1#258b8858a63c7998252e96352473c9c6 معرف CallSite: 11b8F825A8768000 (diff_call: 20941). العملية: fman_fp_image_fp_0. مفتاح التعقب: 1#36b34d8e636a89f6397a3b12acab9706 معرف CallSite: 1944e78df68EC002 (diff_call: 19887). العملية: linux_iosd-imag_rp_0. Tracekey: 1#8ec74901dc8e23a44e060e69d5820ece معرف CallSite: E2AA338E11594003 (diff_call: 13404).
كيفية التعرف على 9800 WLC واجهت مشكلة في تسريب الذاكرة
من المهم معالجة تسريبات الذاكرة بسرعة لأنها يمكن أن تضر باستقرار وموثوقية خدمات الشبكة التي تقدمها اللجنة المحلية اللاسلكية (WLC). لتشخيص تسريب ذاكرة على وحدة تحكم في الشبكة المحلية اللاسلكية (WLC)، يمكنك إستخدام أوامر مختلفة على واجهة سطر الأوامر (CLI) لمراقبة إستخدام الذاكرة عبر الوقت. قد يبحثون عن العمليات التي تستخدم قدرا متزايدا من الذاكرة دون إصدارها أو الأنماط التي تشير إلى عدم إسترداد الذاكرة كما هو متوقع.
تحقق من مقدار الذاكرة المخصصة للنظام الأساسي بالكامل.
9800WLC#show version | in memory
cisco C9800-L-F-K9 (KATAR) processor (revision KATAR) with 1634914K/6147K bytes of memory.
32768K bytes of non-volatile configuration memory.
16777216K bytes of physical memory.
!! Determines Total platform memory available, Here it is 16GB
تحقق من مقدار الذاكرة المخصصة لكل تجمع.
9800WLC#show processes memory
Processor Pool Total: 1674013452 Used: 823578520 Free: 850434932
reserve P Pool Total: 102404 Used: 88 Free: 102316
lsmpi_io Pool Total: 6295128 Used: 6294296 Free: 832
تحقق من إستخدام الموارد، بما في ذلك إستخدام الذاكرة. إذا تجاوز مستويات التحذير أو الحرج، يمكن أن يشير إلى تسريب محتمل للذاكرة.
إستخدام الذاكرة على 9800 WLC
مراقبة الاستخدام الكلي للذاكرة لموارد مستوى التحكم
9800WLC#show platform software status control-processor brief
Slot Status 1-Min 5-Min 15-Min
1-RP0 Healthy 0.52 0.75 0.80
Memory (kB)
Slot Status Total Used (Pct) Free (Pct) Committed (Pct)
1-RP0 Healthy 16327028 4898110(30%) 114218918 (70%) 5387920 (33%)
مراقبة حجم الذاكرة المخصص والمستخدم للعمليات العليا. إذا استمر إستخدام الذاكرة في الزيادة بينما تظل الذاكرة الحرة ثابتة أو منخفضة جدا، فهناك فرص عالية لتسريب الذاكرة على مستوى IOS-D.
إحصائيات ذاكرة كل عملية بدءا من أعلى عملية إحتجاز
لمعالجة مشاكل تسريب الذاكرة على مستوى النظام الأساسي، قم بمراقبة عدادات RSS (حجم المجموعة المقيم). يشير RSS إلى مقدار الذاكرة المخصصة لعملية ما أثناء التنفيذ. إذا زادت هذه القيمة بسرعة، فقد يعني ذلك حدوث تسرب محتمل للذاكرة.
يعالج النظام الأساسي إستخدام الذاكرة من أعلى عملية تعليق
أستكشاف أخطاء تسريب الذاكرة وإصلاحها في عملية IOS
في IOS XE، يعمل IOS كعملية (برنامج تشغيل) يجري فوق نواة لينوكس، المعروفة باسم IOSd. عادة، يتم تخصيص IOS بنسبة تتراوح من 35٪ إلى 50٪ من إجمالي ذاكرة DRAM للنظام الأساسي المتوفرة.
السجلات الأساسية من WLC
إتاحة الطابع الزمني أن يكون له مرجع زمني لكل الأوامر.
9800WLC#term exec prompt timestamp
لمراجعة معلومات التكوين والذاكرة ذات الصلة:
9800WLC#show tech-support wireless
9800WLC#show tech-support memory
تجميع ملف التفريغ الأساسي أو تقرير النظام إذا تم إنشاؤه
عبر واجهة المستخدم الرسومية
نافياغتي تو Troubleshooting > Core Dumps and System Report
تفريغ أساسي وتقرير النظام
Via CLI
9800WLC#show bootflash: | in core/system-report
9800WLC#copy bootflash:system-report/Core_file {tftp: | ftp: | https: ..}
لتجمع ذاكرة المعالج
تحقق من ذاكرة كل عملية بدءا من أعلى عملية إحتجاز.
9800WLC#show process memory sorted
تحقق من إجمالي حالات الذاكرة للتجمع المعني. كما تظهر أكبر كتلة حرة وأدنى ذاكرة متاحة منذ التمهيد.
9800WLC#show memory Statistics
تحقق من عداد البرامج (PC) الذي قام بتخصيص مقدار كبير من الذاكرة.
9800WLC#show memory allocation-process totals
تحقق من الوحدات المسربة والقطع.
9800WLC#show memory debug leak chunks
!!This is CPU intensive cli and use only if above CLI output is not helping.
لتجمع ذاكرة الإدخال/الإخراج (IO)
تحقق من أعلى المخصصين.
9800WLC#show memory io allocating-process totals
إذا كان الموزع الأعلى هو "بيانات الحزمة أو مدير التجمع"، فتحقق من أي المتصل_pc يطلب عددا كبيرا من المخازن المؤقتة
9800WLC#show buffers
9800WLC#show buffers usage
إذا كان المخصص الأعلى هو 'mananged_chunk_process()' أو 'Chunk Manager' قيد المعالجة، فهذا يعني أن جزء أو أكثر من أجزاء الذاكرة يتم تخصيص كمية كبيرة من الذاكرة.
9800WLC#show chunk summary
9800WLC#show chunk brief
إذا كانت العملية MallocLite هي التخصيص الأعلى
9800WLC#show memory lite-chunks totals
9800WLC#show memory lite-chunks stats
أستكشاف أخطاء تسريب الذاكرة وإصلاحها على مستوى الأنظمة الأساسية/نظام التشغيل
تحقق من إستخدام الذاكرة ٪ لموارد الذاكرة المتوفرة على النظام الأساسي.
9800WLC#show Platform resources
تحقق من لقطة ذاكرة النظام الإجمالية.
9800WLC#show platform software process slot chassis active R0 Monitor | in Mem
تحقق من كافة عمليات النظام الأساسي التي تم فرزها.
9800WLC#show process memory platform sorted
9800WLC#show platform software process memory chassid active r0 all sorted
التحقق من آخر حالة ساعة لمواقع الاستدعاء.
9800WLC#show process memory platform accounting
أختر المرشح العلوي من إخراج واجهة سطر الأوامر (CLI) السابقة وقم بتمكين تصحيح الأخطاء للعمليات الفردية.
9800WLC#debug platform software memory <process> chassis <1-2/active/standby> R0 alloc callsite stop
9800WLC#debug platform software memory <process> chassis <1-2/active/standby> R0 alloc callsite clear
9800WLC#debug platform software memory <process> chassis <1-2/active/standby> R0 alloc backtrace start <CALL_SITE> depth 10
9800WLC#debug platform software memory <process> chassis <1-2/active/standby> R0 alloc callsite start
!! Running these debugs has no impact to device
قم بتجميع المخرجات بضع دقائق (من 15 دقيقة إلى ساعة واحدة) بعد بدء تصحيح الأخطاء.
9800WLC#show platform software memory <process> chassis <1-2/active/standby> R0 alloc backtrace
!! Capture this output three times, with a 5-10 minutes interval between each capture, to identify the pattern.
تحقق من وجود قيمة call_diff وتخصيص القيمة وتحريرها باستخدام المسار الخلفي الخاص بكل عملية.
9800WLC#show platform software memory <process> chassis <1-2/active/standby> R0 alloc callsite brief
ملاحظة: call_diff = تخصيصات - وحدات
إذا كانت المخصصات = وحدات فارغة، فلا يتم تسريب الذاكرة
إذا كانت المساحة الحرة = 0، يتم تسريب الذاكرة
إذا تم تخصيص الموارد != تحرر الذاكرة، فقد يتم تسريبها أو ربما لا يتم ذلك (إذا كان call_diff أكبر، فهذا يشير إلى وجود فرص عالية لتسريب الذاكرة)
التقاط بيانات ذاكرة قاعدة البيانات للعملية الفردية.
9800WLC#show platform software memory <process> chassis <1-2/active/standby>active R0 alloc type data brief
9800WLC#show platform software memory database <process> chassis <1-2/active/standby> chassis active R0 brief
تحقق من معلومات تحميل النظام للتحقق من إستخدام الذاكرة لنظام الملفات الظاهري الذي تم إنشاؤه مؤقتا.
9800WLC#show platform software mount
التوصية
ارجع إلى أدلة التكوين ذات الصلة، وصحائف البيانات، وملاحظات الإصدار لتوصيات الذاكرة وحدود القياس، وتأكد من ترقية عنصر التحكم في الشبكة المحلية اللاسلكية (WLC) إلى أحدث إصدار موصى به.