يصف هذا المستند كيفية التحقق من ذاكرة النظام واستكشاف أخطاء الذاكرة ذات الصلة وإصلاحها على موجهات خدمات التجميع (ASR1K) من السلسلة Cisco ASR 1000 Series.
توصي Cisco بأن تكون لديك معرفة أساسية بالمواضيع التالية:
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر.
باستخدام معظم الأنظمة الأساسية للموجه القائمة على البرامج، يتم تشغيل معظم عمليات البرامج الداخلية في ذاكرة Cisco IOS®. تقدم منصة ASR1K بنية برامج موزعة تعمل على نقل العديد من مسؤوليات نظام التشغيل (OS) خارج عملية IOS. إن نظام التشغيل IOS في هذه البنية، والذي كان مسؤولا في السابق عن جميع العمليات الداخلية تقريبا، يعمل الآن كأحد عمليات لينوكس المتعددة. يتيح ذلك لعمليات لينوكس الأخرى تقاسم المسؤولية عن تشغيل الموجه.
يقوم ASR1K بتشغيل IOS-XE، وليس IOS التقليدي. في IOS-XE، يشغل مكون Linux kernel، ويعمل IOS كبرنامج تشغيل، ويشار إليه فيما بعد ب IOS-Daemon. يؤدي ذلك إلى خلق متطلبات تدعو إلى تقسيم الذاكرة بين نواة Linux ومثيل IOS.
الذاكرة التي تم تقسيمها بين IOSd وبقية النظام ثابتة عند بدء التشغيل ولا يمكن تعديلها. وبالنسبة لأي نظام سعة 4 جيجابايت، يتم تخصيص IOS بسعة 2 جيجابايت تقريبا، وبالنسبة لأي نظام سعة 8 جيجابايت، يتم تخصيص IOS بسعة 4 جيجابايت تقريبا (مع تعطيل تكرار البرامج).
بما أن ASR1K لها بنية 64-بت، فإن أي مؤشر موجود في كل بنية بيانات في النظام يستهلك ضعف مقدار الذاكرة عند مقارنته بالأنظمة الأساسية التقليدية ذات وحدة المعالجة المركزية الأحادية (8 بايت بدلا من 4 بايت). تتيح ميزة العنونة إصدار 64 بت IOS إمكانية التغلب على حدود الذاكرة التي يمكن الوصول إليها عبر برنامج IOS، والتي تبلغ 2 جيجابايت، مما يتيح له إمكانية التطوير إلى ملايين المسارات.
يتم إستخدام تجمع ذاكرة واجهة ذاكرة Linux المشتركة (LSMPI) لنقل الحزم من معالج إعادة التوجيه إلى معالج التوجيه. تم إنشاء تجمع الذاكرة هذا عند تهيئة الموجه في المخازن المؤقتة المخصصة مسبقا، مقارنة بتجمع المعالجات، حيث يقوم IOS-XE بتخصيص كتل الذاكرة بشكل ديناميكي. على النظام الأساسي ASR1K، يحتوي تجمع LSMPI_io على ذاكرة حرة صغيرة بشكل عام أقل من 1000 بايت وهو أمر طبيعي. توصي Cisco بتعطيل مراقبة تجمع LSMPI بواسطة تطبيقات إدارة الشبكة لتجنب الإنذارات الخاطئة.
ASR1000# show memory statistics
Head Total(b) Used(b) Free(b) Lowest(b) Largest(b)
Processor 2C073008 1820510884 173985240 1646525644 1614827804 1646234064
lsmpi_io 996481D0 6295088 6294120 968 968 968
إذا كانت هناك أي مشاكل في مسار LSMPI، يظهر عداد فشل Device ليزداد في مخرجات الأمر هذه (بعض المخرجات المحذوفة):
ASR1000-1# show platform software infrastructure lsmpi driver
LSMPI Driver stat ver: 3
Packets:
In: 674572
Out: 259861
Rings:
RX: 2047 free 0 in-use 2048 total
TX: 2047 free 0 in-use 2048 total
RXDONE: 2047 free 0 in-use 2048 total
TXDONE: 2047 free 0 in-use 2048 total
Buffers:
RX: 7721 free 473 in-use 8194 total
Reason for RX drops (sticky):
Ring full : 0
Ring put failed : 0
No free buffer : 0
Receive failed : 0
Packet too large : 0
Other inst buf : 0
Consecutive SOPs : 0
No SOP or EOP : 0
EOP but no SOP : 0
Particle overrun : 0
Bad particle ins : 0
Bad buf cond : 0
DS rd req failed : 0
HT rd req failed : 0
Reason for TX drops (sticky):
Bad packet len : 0
Bad buf len : 0
Bad ifindex : 0
No device : 0
No skbuff : 0
Device xmit fail : 0
Device xmit rtry : 0
Tx Done ringfull : 0
Bad u->k xlation : 0
No extra skbuff : 0
<snip>
يتضمن ASR1K العناصر الوظيفية التالية في نظامه:
وعلى هذا النحو، يلزم مراقبة إستخدام الذاكرة من قبل كل معالج من هذه المعالجات في بيئة إنتاج.
تقوم معالجات التحكم بتشغيل برنامج Cisco IOS-XE الذي يتكون من نواة قائمة على Linux ومجموعة مشتركة من برامج الأداة المساعدة على مستوى نظام التشغيل، والتي تتضمن برنامج Cisco IOS الذي يعمل كعملية مستخدم على بطاقة RP.
أدخل الأمر show platform software status control-processor brief لمراقبة إستخدام الذاكرة على RP و ESP و SIP. يجب أن تكون حالة النظام متطابقة، فيما يتعلق بجوانب مثل تكوين الميزة وحركة المرور، أثناء مقارنة إستخدام الذاكرة.
ASR1K# show platform software status control-processor brief
<snip>
Memory (kB)
Slot Status Total Used (Pct) Free (Pct) Committed (Pct)
RP0 Healthy 3907744 1835628 (47%) 2072116 (53%) 2614788 (67%)
ESP0 Healthy 2042668 789764 (39%) 1252904 (61%) 3108376 (152%)
SIP0 Healthy 482544 341004 (71%) 141540 (29%) 367956 (76%)
SIP1 Healthy 482544 315484 (65%) 167060 (35%) 312216 (65%)
يمكن أن يقوم كل معالج مدرج في الإخراج السابق بالإبلاغ عن الحالة على أنها سليمة أو تحذير أو حرجة، والتي تعتمد على مقدار الذاكرة الحرة. إذا عرض أي من المعالجات الحالة على أنها تحذير أو حرج، فأدخل الأمر monitor platform software process<slot>لتحديد المساهم الأعلى.
ASR1K# monitor platform software process ?
0 SPA-Inter-Processor slot 0
1 SPA-Inter-Processor slot 1
F0 Embedded-Service-Processor slot 0
F1 Embedded-Service-Processor slot 1
FP Embedded-Service-Processor
R0 Route-Processor slot 0
R1 Route-Processor slot 1
RP Route-Processor
<cr>
قد تتم مطالبتك بتعيين النوع الطرفي قبل أن تتمكن من تنفيذ الأمر monitor platform software process:
ASR1K# monitor platform software process r0
Terminal type 'network' unsupported for command
Change the terminal type with the 'terminal terminal-type' command.
يتم تعيين النوع الطرفي على الشبكة بشكل افتراضي. دخلت in order to ثبتت ال مناسب انتهائية نوع، الانتهائية نوع أمر:
ASR1K#terminal-type vt100
بمجرد تكوين النوع الطرفي الصحيح، يمكنك إدخال الأمر monitor platform software process (تم حذف بعض المخرجات):
ASR1000# monitor platform software process r0
top - 00:34:59 up 5:02, 0 users, load average: 2.43, 1.52, 0.73
Tasks: 136 total, 4 running, 132 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.8%us, 2.3%sy, 0.0%ni, 96.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 2009852k total, 1811024k used, 198828k free, 135976k buffers
Swap: 0k total, 0k used, 0k free, 1133544k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
25956 root 20 0 928m 441m 152m R 1.2 22.5 4:21.32 linux_iosd-imag
29074 root 20 0 106m 95m 6388 S 0.0 4.9 0:14.86 smand
24027 root 20 0 114m 61m 55m S 0.0 3.1 0:05.07 fman_rp
25227 root 20 0 27096 13m 12m S 0.0 0.7 0:04.35 imand
23174 root 20 0 33760 11m 9152 S 1.0 0.6 1:58.00 cmand
23489 root 20 0 23988 7372 4952 S 0.2 0.4 0:05.28 emd
24755 root 20 0 19708 6820 4472 S 1.0 0.3 3:39.33 hman
28475 root 20 0 20460 6448 4792 S 0.0 0.3 0:00.26 psd
27957 root 20 0 16688 5668 3300 S 0.0 0.3 0:00.18 plogd
14572 root 20 0 4576 2932 1308 S 0.0 0.1 0:02.37 reflector.sh
<snip>
إذا لاحظت أن عملية linux_iosd-imag تحتوي على كمية كبيرة غير عادية من الذاكرة في إخراج الأمر النشط الخاص بعملية برنامج النظام الأساسي للشاشة، ركز جهود أستكشاف الأخطاء وإصلاحها على مثيل IOS. من المحتمل ألا تؤدي عملية معينة في مؤشر ترابط IOS إلى تحرير الذاكرة. أستكشاف أخطاء الذاكرة ذات الصلة وإصلاحها في مثيل IOS بنفس الطريقة التي تقوم فيها باستكشاف أخطاء أي منصات إعادة توجيه قائمة على البرامج وإصلاحها، مثل السلسلة 2800 أو 3800 أو 3900 من Cisco.
ASR1K# monitor platform software process rp active
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
25794 root 20 0 2929m 1.9g 155m R 99.9 38.9 1415:11 linux_iosd-imag
23038 root 20 0 33848 13m 10m S 5.9 0.4 30:53.87 cmand
9599 root 20 0 2648 1152 884 R 2.0 0.0 0:00.01 top
<snip>
أدخل الأمر show process memory الذي تم فرزه لتحديد عملية المشكلة:
ASR1000# show process memory sorted
Processor Pool Total: 1733568032 Used: 1261854564 Free: 471713468
lsmpi_io Pool Total: 6295088 Used: 6294116 Free: 972
PID TTY Allocated Freed Holding Getbufs Retbufs Process
522 0 1587708188 803356800 724777608 54432 0 BGP Router
234 0 3834576340 2644349464 232401568 286163388 15876 IP RIB Update
0 0 263244344 36307492 215384208 0 0 *Init
تصنيف حركة المرور هو أحد أكثر الوظائف الأساسية التي تم العثور عليها في الموجهات والمحولات. تتطلب العديد من التطبيقات والميزات أن توفر أجهزة البنية الأساسية هذه الخدمات المتنوعة للمستخدمين المختلفين بناء على متطلبات الجودة. يجب أن تكون عملية تصنيف حركة المرور سريعة، بحيث لا يتم خفض معدل إخراج الجهاز بشكل كبير. تستخدم منصة ASR1K الجيل الرابع من الذاكرة القابلة للتوجيه (TCAM4) للمحتوى الثالث لهذا الغرض.
لتحديد العدد الإجمالي لخلايا TCAM المتوفرة على النظام الأساسي، وعدد الإدخالات الحرة التي تبقى، أدخل هذا الأمر:
ASR1000# show platform hardware qfp active tcam resource-manager usage
Total TCAM Cell Usage Information
----------------------------------
Name : TCAM #0 on CPP #0
Total number of regions : 3
Total tcam used cell entries : 65528
Total tcam free cell entries : 30422
Threshold status : below critical limit
إذا كان معالج إعادة التوجيه يعمل بشكل منخفض للغاية على خلايا TCAM الحرة، فقد يقوم ESP بإنشاء سجلات مماثلة لتلك الموضحة أدناه وقد يتعطل. إذا لم يكن هناك تكرار، يؤدي ذلك إلى انقطاع حركة المرور.
%CPPTCAMRM-6-TCAM_RSRC_ERR: SIP0: cpp_sp: Allocation failed because of insufficient
TCAM resources in the system.
%CPPOSLIB-3-ERROR_NOTIFY: SIP0: cpp_sp:cpp_sp encountered an error -
Traceback=1#s7f63914d8ef12b8456826243f3b60d7 errmsg:7EFFC525C000+1175
بالإضافة إلى الذاكرة الفعلية، هناك أيضا ذاكرة متصلة بمعالج التدفق الكمي (QFP) ASIC يتم إستخدامه لإعادة توجيه بنى البيانات، والتي تتضمن بيانات مثل قاعدة معلومات إعادة التوجيه (FIB) وسياسات جودة الخدمة. يكون مقدار DRAM المتاح ل QFP ASIC ثابتا، بنطاقات تبلغ 256 ميجابايت، 512 ميجابايت، 1 جيجابايت، حسب وحدة ESP.
دخلت العرض منصة جهاز qfp نشط بنية أساسية أمر إحصائيات in order to حددت الإضافة ذاكرة إستعمال. يعطي مجموع الذاكرة ل IRAM و DRAM المستخدم إجمالي ذاكرة QFP المستخدمة.
BGL.I.05-ASR1000-1# show platform hardware qfp active infra exmem statistics user
Type: Name: IRAM, CPP: 0
Allocations Bytes-Alloc Bytes-Total User-Name
------------------------------------------------------
1 115200 115712 CPP_FIA
Type: Name: DRAM, CPP: 0
Allocations Bytes-Alloc Bytes-Total User-Name
-----------------------------------------------------
4 1344 4096 P/I
9 270600 276480 CEF
1 1138256 1138688 QM RM
1 4194304 4194304 TCAM
1 65536 65536 Qm 16
IRAM هو ذاكرة التعليمات الخاصة ببرنامج QFP. في حالة استنفاد ذاكرة DRAM، يمكن إستخدام IRAM المتاحة. إذا تم تشغيل IRAM في الذاكرة منخفضة بشكل خطير، فقد ترى رسالة الخطأ هذه:
%QFPOOR-4-LOWRSRC_PERCENT: F1: cpp_ha: QFP 0 IRAM resource low - 97 percent depleted
%QFPOOR-4-LOWRSRC_PERCENT: F1: cpp_ha: QFP 0 IRAM resource low - 98 percent depleted
دخلت in order to حددت العملية أن يستهلك معظم الذاكرة، العرض منصة جهاز qfp نشط infra إحصائيات مستعمل أمر:
ASR1000# show platform hardware qfp active infra exmem statistics user
Type: Name: IRAM, CPP: 0
Allocations Bytes-Alloc Bytes-Total User-Name
----------------------------------------------------
1 115200 115712 CPP_FIA
Type: Name: DRAM, CPP: 0
Allocations Bytes-Alloc Bytes-Total User-Name
----------------------------------------------------
4 1344 4096 P/I
9 270600 276480 CEF
1 1138256 1138688 QM RM
1 4194304 4194304 TCAM
1 65536 65536 Qm 16
المراجعة | تاريخ النشر | التعليقات |
---|---|---|
1.0 |
19-Nov-2013 |
الإصدار الأولي |