تسعى مجموعة الوثائق لهذا المنتج جاهدة لاستخدام لغة خالية من التحيز. لأغراض مجموعة الوثائق هذه، يتم تعريف "خالية من التحيز" على أنها لغة لا تعني التمييز على أساس العمر، والإعاقة، والجنس، والهوية العرقية، والهوية الإثنية، والتوجه الجنسي، والحالة الاجتماعية والاقتصادية، والتمييز متعدد الجوانب. قد تكون الاستثناءات موجودة في الوثائق بسبب اللغة التي يتم تشفيرها بشكل ثابت في واجهات المستخدم الخاصة ببرنامج المنتج، أو اللغة المستخدمة بناءً على وثائق RFP، أو اللغة التي يستخدمها منتج الجهة الخارجية المُشار إليه. تعرّف على المزيد حول كيفية استخدام Cisco للغة الشاملة.
ترجمت Cisco هذا المستند باستخدام مجموعة من التقنيات الآلية والبشرية لتقديم محتوى دعم للمستخدمين في جميع أنحاء العالم بلغتهم الخاصة. يُرجى ملاحظة أن أفضل ترجمة آلية لن تكون دقيقة كما هو الحال مع الترجمة الاحترافية التي يقدمها مترجم محترف. تخلي Cisco Systems مسئوليتها عن دقة هذه الترجمات وتُوصي بالرجوع دائمًا إلى المستند الإنجليزي الأصلي (الرابط متوفر).
يوضح هذا المستند كيفية أستكشاف أخطاء الذاكرة وإصلاحها في الأجهزة المستندة إلى برنامج Cisco IOS® XE مثل الموجهات والمحولات لموقع تسجيل الدخول.
معرفة في إدارة الذاكرة في الأجهزة المستندة إلى برنامج Cisco IOS XE.
لا يقتصر هذا المستند على إصدارات برامج ومكونات مادية معينة. وهو ينطبق على التوجيه والتحويل للأنظمة الأساسية المستندة إلى برنامج Cisco IOS XE.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
مراقبة إستخدام ذاكرة الإنتاج الخاصة بالجهاز لزيادة الدلتا وتأكيد ما إذا كان المتوقع يستغرق وقتا. يشرح هذا المستند ما هو موقع الاستدعاء وكيف يساعد على أستكشاف أخطاء الذاكرة وإصلاحها بسرعة.
ملاحظة: يركز هذا المستند بشكل رئيسي على أستكشاف أخطاء إستخدام ذاكرة الوصول العشوائي الديناميكي (DRAM) لمعالج التوجيه.
CallSite عبارة عن علامة يتم إستخدامها من قبل مركز المساعدة التقنية (TAC) من Cisco للتحقق من وظائف كود المصدر التي يتم استدعاؤها وتعقبها أثناء عمليات تخصيص الذاكرة التي يتم إجراؤها بواسطة العمليات ذات الصلة ب Cisco IOS-XE.
يمكن للعملاء توفير هذه العلامة قبل فتح حالة مركز المساعدة الفنية للحصول على دقة أسرع كما يمكن للعملاء المساعدة في تصحيح الأخطاء بواسطة الأوامر المقدمة لاحقا في هذه المقالة.
تراقب مكالمات Diff التفاوت بين عدد مكالمات تخصيص الذاكرة والتوزيع. في العادة، قد تشير كمية كبيرة من مكالمات diff إلى وجود مشكلة متعلقة بالذاكرة. يحدث هذا عند وجود كميات كبيرة للغاية من البيانات، مما يشير إلى أن النظام لا يطلق الذاكرة وأن المخصصات تتراكم.
ويمكن مشاهدة كلا المكالمات المختلفة ووحدات بايت diff مع محاسبة النظام الأساسي لذاكرة العمليات من CommandShow:
test1#show processes memory platform accounting
Hourly Stats
process callsite_ID(bytes) max_diff_bytes callsite_ID(calls) max_diff_calls tracekey timestamp(UTC)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
sessmgrd_rp_0 F8E78C86E08C8003 1579683 E6A19D3ED0064000 12269 1#90e06c15b54d23761b2b3b480e5fd704 2025-05-28 05:30
cli_agent_rp_0 A5E99693AA3B8004 1268440 5D11C89CA87A8003 3197 1#3afb1165961ee7daf4af986e47f2f32c 2025-05-28 05:40
smand_rp_0 3DFF8F3C424F400A 918144 C34A609190E3C001 420 1#51a1581a8ac23e847e66fe8f268c66d1 2025-05-29 06:31
للنظام حدود داخلية لاستخدام الذاكرة تقوم بتشغيل تحذيرات الذاكرة وحروف syslog للمستوى الحرج. يمكن عرض النسبة المئوية لاستخدام الذاكرة التي تستند إلى هذه الحدود باستخدام الأمر show platform resources.
test1#show platform resources
**State Acronym: H - Healthy, W - Warning, C - Critical
Resource Usage Max Warning Critical State
----------------------------------------------------------------------------------------------------
RP0 (ok, active) H
Control Processor 1.17% 100% 80% 90% H
DRAM 2639MB(34%) 7753MB 88% 93% H
bootflash 856MB(13%) 6338MB 88% 93% H
harddisk 0MB(0%) 0MB 88% 93% H
ESP0(ok, active) H
QFP H
TCAM 10cells(0%) 131072cells 65% 85% H
DRAM 89761KB(2%) 3670016KB 85% 95% H
IRAM 13525KB(10%) 131072KB 85% 95% H
CPU Utilization 1.00% 100% 90% 95% H
Crypto Utilization 3.00% 100% 90% 95% H
Pkt Buf Mem (0) 67KB(0%) 524288KB 85% 95% H
test1#
ملاحظة: قم بإدخال حالة مركز المساعدة الفنية لتحديد ما إذا كانت إستدعاءات diff أو وحدات البايت مختلفة متعلقة بعملية معينة. بشكل عام، إذا كانت ذاكرة النظام الحرة منخفضة كما تظهر مع الأمر show تقوم بمعالجة منصة الذاكرة التي تم فرزها، فإن الأمر يستحق التدقيق أكثر.
عند وجود مشكلة في إستهلاك الذاكرة أو تسريب الذاكرة في جانب Cisco IOS XE، عادة ما يتم إنشاء تحذير أو تنبيه نقدي، على سبيل المثال:
Nov 22 11:37:16.770: %PLATFORM-4-ELEMENT_WARNING: R0/0: smand: RP/0: Used Memory value 89% exceeds warning level 88%. Top memory allocators are: Process: iomd_cc_0. Tracekey: 1#7eed26e49896115921b704a6d9780e72 Callsite ID: 4163698691 (diff_call: 395435). Process: iomd_cc_0. Tracekey: 1#7eed26e49896115921b704a6d9780e72 Callsite ID: 4163698691 (diff_call: 29). Process: btman_rp_0. Tracekey: 1#e7e4075661e7b1cbf867dc220f1b120c Callsite ID: 407738370 (diff_call: 23).
يسلط هذا النوع من التنبيه الضوء على المعلومات القيمة كنقطة بداية لاستكشاف الأخطاء وإصلاحها:
ملاحظة: ليس من الضروري أن يكون تنبيه ٪PLATFORM-4-ELEMENT_WARNING نقطة بيانات حاسمة للحصول على "تحليل السبب الجذري" (RCA) لأية مشكلة في إستهلاك الذاكرة.
ملاحظة: هناك أنواع أخرى من الأعراض وتنبيهات إستخدام الذاكرة المرتبطة بمكونات مختلفة مثل نظام الملفات المؤقتة (TMPFS) ومعالج تدفق الكم (QFP) والخوادم المساعدة Cisco IOS (IOSd)، ومع ذلك فهذه خارج نطاق هذا المستند.
ملاحظة: لا يغطي هذا المستند أستكشاف أخطاء SYS-2-MALLOCFAIL syslog وإصلاحها والتي تشير إلى مشكلة في الذاكرة تحت البرنامج الخفي Cisco IOS (IOS).
عندما يتعطل الجهاز بسبب نفاد موارد الذاكرة، من المهم التحقق من السجلات الأخيرة قبل العطل لتأكيد رسالة syslog ٪PLATFORM-4-ELEMENT_WARNING ومعرفة ما إذا كانت: R0/0: سماند: ريبرنت/0: قيمة الذاكرة المستخدمة x٪ تتجاوز مستوى التحذير y٪ موجودة.
ملاحظة: لاحظ أنه يتم مسح syslogs من المخزن المؤقت DRAM المحلي بعد حدوث عطل بسبب نفاد الذاكرة، وبالتالي التحقق من سجلات الأرشيف من خادم syslog قبل أن يكون حدث التعطل ضروريا. إذا لم يتم إعداد خادم syslog بعد، فارجع إلى كيفية تكوين تسجيل الدخول إلى Cisco IOS.
ملاحظة: ٪PLATFORM-4-ELEMENT_WARNING: R0/0: سماند: ريبرنت/0: تتجاوز قيمة الذاكرة المستخدمة X٪ تنبيه مستوى التحذير Y٪ بعد ظهور حدث عطل أيضا في عمليات التتبع التي تم فك ترميزها من Cisco IOS. راجع تجميع سجلات التتبع وإدارتها باستخدام تحسين التسجيل الموحد للحصول على مزيد من المعلومات.
تعرض النظام لانهيار بسبب عدم كفاية الذاكرة. ونتيجة لذلك، يتم إنشاء تقرير نظام. هذا التقرير هو ملف .tar.gz يحتوي على بيانات ذات صلة يمكن إستخدامها للتحقيق في مشكلة الذاكرة. راجع أستكشاف الأخطاء وإصلاحها باستخدام تقارير النظام للحصول على مزيد من المعلومات.
عند فك الضغط، يحتوي تقرير النظام على دليل يسمى حالات العناكب داخل دليل TMP. أحوال العناوين هي مرفق خدمة يتم تنفيذه في التعليمات البرمجية التي تتتبع عمليات تخصيص الذاكرة والتخزين في مكالمات diff ووحدات البايت لمختلف عمليات Cisco IOS XE.
تحتوي لقطة إحصائيات مارون على تقرير النظام، مما يساعد على تحديد مصدر محتمل لتحديد إستهلاك الذاكرة أو حدوث مشكلة تسريب RCA أو تصحيح أخطائه بشكل أكبر وفهمه بشكل أفضل.
ملاحظة: لا يمكن فك ترميز دليل حالات العطل من تقرير النظام إلا بواسطة TAC لأنه يحتوي على وظائف داخلية وسرية للكود الذي يساعد مهندس TAC على فهم وظائف الرمز التي تقوم بتخصيص الذاكرة. يرجى تقديم حالة مركز المساعدة الفنية وتقديم تقرير النظام.
ملاحظة: تذكر أن تقرير النظام يوفر كمية كبيرة من البيانات لفهم تعطل الذاكرة بسبب نفاد الذاكرة، ومع ذلك ففي بعض الحالات يتطلب الأمر المزيد من تتبع الذاكرة ومراقبتها وتصحيح أخطائها واستكشاف أخطائها وإصلاحها.
يعرض الأمر موارد النظام الأساسي، ويبدي التحذير وحدود إستخدام الذاكرة الحرجة.
ملاحظة: من أفضل الممارسات جمع أوامر الإخراج المتعلقة بالذاكرة لتصحيح الأخطاء بشكل أكبر بناء على مدى سرعة حدوث إستهلاك الذاكرة أو تسريبها، يمكن أن يكون الجهاز في خطر الأعطال نظرا لنفاد موارد الذاكرة.
ملاحظة: عند ملاحظة تحذيرات إستخدام الذاكرة، يمكنك تسجيل حالة مركز المساعدة الفنية وتوفير الأوامر show tech-support و
إظهار ذاكرة الدعم الفني التي تساعد مهندس TAC في فرز المشكلة بشكل مبدئي واحتمال العثور على ترخيص RCA بسرعة.
عندما لا يتعطل الجهاز بعد ويقوم بإنشاء تنبيهات الذاكرة في المخزن المؤقت syslog المحلي أو يتم استقبالها من خادم syslog من خلال أداة المراقبة، قم بتجميع إخراج show operations منصة الذاكرة الأساسية التي تم فرزها لتحديد وحدات البايت التي يتم إستهلاكها من العملية المخالفة إن وجدت.
Router#show processes memory platform sorted
System memory: 4027884K total, 2580612K used, 1447272K free,
Lowest: 1447272K
Pid Text Data Stack Dynamic RSS Total Name
--------------------------------------------------------------------------------
21240 263436 858000 136 308 858000 3632460 linux_iosd-imag
27232 12877 195460 136 23592 195460 2231316 fman_fp_image
26797 90 157260 136 22308 157260 1741996 cpp_cp_svr
19194 7325 102756 136 2376 102756 1318608 fman_rp
27179 18745 242708 136 448 242708 1160248 qfp-ucode-utah
في هذا الإخراج، راجع عمود حجم المجموعة المقيم (RSS). هذا مؤشر على عدد كيلوبايت التي تستهلكها كل عملية Cisco IOS XE.
بعد ذلك، قم بتجميع إخراج عملية محاسبة النظام الأساسي لذاكرة العمليات show التي تعرض إستدعاءات التوزيع وقيم وحدات البايت للعمليات المختلفة. عادة، نركز على القيم الأكبر.
تعد وحدات بايت الاستدعاء المختلفة مؤشرا جيدا لتحديد ما إذا كان يمكن حدوث تسريب محتمل للذاكرة، حيث أنها توضح كم وحدات البايت من الذاكرة التي لا تزال محتجزة بواسطة النظام بواسطة عملية دون إصدارها مرة أخرى إلى النظام.
استنادا إلى هذه البيانات، يمكنك تحديد أي علامة CallSite من العملية المخالفة التي تحتوي على أكبر عدد من المكالمات ذات الأبعاد المختلفة وقيم وحدات البايت.
تقوم عملية محاسبة النظام الأساسي لذاكرة العملية show بتعقب هذه المكالمات ووحدات البايت المختلفة عبر الوقت. في بعض الحالات، يتم تضمين تتبع خلفي في إخراج الأمر هذا. وهذا مهم لمهندس TAC حيث يتم فك ترميز هذا التتبع الخلفي باستخدام الأدوات الداخلية ويساعد على تحديد وظائف الرمز التي يمكن أن تتسبب في حدوث تسريب محتمل للذاكرة.
ملاحظة: غالبا ما يكون هناك حاجة إلى مزيد من تصحيح الأخطاء لعملية ما إذا كان الأمر show process memory platform accounting لا يوفر معلومات كافية لاستكشاف أخطاء تسريب الذاكرة وإصلاحها.
راجع أيضا تصحيح أخطاء CallSite من هذا المستند للحصول على أسلوب ثانوي لتحديد موقع الطلب.
يمكن أن تكون هناك حاجة لجمع هذه الأوامر لعملية Cisco IOS XE معينة لمزيد من تصحيح أخطاء تسريب ذاكرة عملية Cisco IOS XE:
# Allocations and frees per module
show platform software memory
show platform software memory bri
# Database diff and entries statistics
show platform software memory database | ex diff:0
show platform software memory database bri | ex _0_
# Messaging diff and entries statistics
show platform software memory messaging | ex diff:0
show platform software memory messaging brief | ex _0_
تكمل مخرجات الأوامر هذه التحقيق في تسرب الذاكرة الناجم عن عملية ما، وغالبا ما تكون مطلوبة إذا لم توفر أوامر الفرز الأساسية الأولية المعلومات الكافية.
توجد طريقة ثانوية لتحديد موقع الطلب هي تصحيح الأخطاء. هذه الأوامر مطلوبة:
debug platform software memory alloc callsite start
show platform software memory alloc callsite brief
debug platform software memory alloc backtrace start depth 10
show platform software memory alloc backtrace
يتيح الأمر الأول تصحيح عمليات التخصيص لمواقع الاستدعاء الخاصة بعملية ما. في الإصدارات الأحدث، يتم تمكين هذا الأمر بشكل افتراضي ولا يؤثر على الخدمة.
يوفر الأمر show platform software memory <process> <location> alloc callSite brief جدولا يعرض مواقع الاستدعاءات الخاصة بتلك العملية واستدعاءات DIFF ووحدات البايت الخاصة بكل موقع اتصال. على سبيل المثال، نقدم هنا الإخراج لعملية Cisco IOS ولكن يمكن تجميعه لأي عملية أخرى:
test1# show platform software memory ios r0 alloc callsite brief
The current tracekey is : 1#b1ba773f123f8d990fd84c82c1d0e1d3
callsite thread diff_byte diff_call
----------------------------------------------------------------
3DFF8F3C424F4004 4115 57384 1
ABB2D8F932038000 4115 57360 1
3869885745FC8000 4115 16960 1
DF884D58A8EF0004 4115 8208 1
DF884D58A8EF0008 4115 8208 1
FAE69298A17B8000 4115 4243 165
FAE69298A17B8001 4115 2640 165
FAE69298A17B8002 4115 1958 12
ملاحظة: يجب تنفيذ الأمر show plat soft memory <process> <location> alloc callSite BRI عدة مرات مع مرور الوقت حتى يتم العثور على إستدعاء diff أو زيادة عمود bytes حيث سيكون ذلك مؤشرا على أن النظام يحتفظ بهذه الذاكرة دون إصدارها.
بمجرد أن يتم تحديد موقع الطلب الذي سيتم تسريبه، يجب تنفيذ الأمر debug platform software <process> <location> alloc backtrace start <callSite> depth 10 ل موقع الطلب هذا. يمكن ترك هذا الأمر في مكانه ولا يؤثر على الخدمة.
تنفيذ الأمر show plat soft memory <process> <location> alloc callSite bri مرة أخرى حتى يتم رؤية المكالمات/وحدات البايت المختلفة التي لا تزال مطلوبة بعد تمكين تصحيح أخطاء موقع الطلب المحدد، وذلك لتعقب وظائف التعليمات البرمجية التي تقوم بتخصيص الذاكرة لموقع الاستدعاء هذا. وفيما بعد، يمكن تجميع التتبع الخلفي باستخدام show platform software memory <process> <location> alloc backtrace، على سبيل المثال:
show platform software memory install-manager switch active R0 alloc back
backtrace: 1#83e58872a4792de086bf7191551098d7 maroon:7FCBACB87000+4642 maroon:7FCBACB87000+579C repm_core:7FCBB1F29000+1E146 avl:7FCBB4005000+2989 repm_core:7FCBB1F29000+1DAF6 repm_core:7FCBB1F29000+1BADF repm_core:7FCBB1F29000+37BA6 repm_core:7FCBB1F29000+2A341 tdldb_assist_no_dbdm:7FCBB5EDE000+416E
callsite: 7BD5593C00E30000, thread_id: 15556
allocs: 70, frees: 0, call_diff: 70
ملاحظة: توفير هذا الإخراج إلى TAC لفك تشفير المسار الخلفي، ثم يمكن لمهندس TAC التحقق من السلوك في الرمز، وتحديد ما إذا كان هناك عيب موجود أو فهم السلوك بشكل أفضل. إذا لزم الأمر، يمكن أن تصل TAC إلى فريق المطورين.
ملاحظة: تأكد من تحديث البرامج. في حالة العثور على عيب برمجية جديد، يمكن أن يعمل TAC مع فريق المطور لمزيد من تصحيح الأخطاء والتحقيق في الشرط.
المراجعة | تاريخ النشر | التعليقات |
---|---|---|
1.0 |
17-Oct-2025
|
الإصدار الأولي |