المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

نظرة عامة على تخطيط ذاكرة ASR

تخصيص الذاكرة ضمن تجمع lsmpi_io

إستخدام الذاكرة

التحقق من إستخدام الذاكرة على IOS-XE

التحقق من إستخدام الذاكرة على IOSd

التحقق من إستخدام TCAM على ASR1K

التحقق من إستخدام الذاكرة على QFP

المقدمة

يصف هذا المستند كيفية التحقق من ذاكرة النظام واستكشاف أخطاء الذاكرة ذات الصلة وإصلاحها على موجهات خدمات التجميع (ASR1K) من السلسلة Cisco ASR 1000 Series.

المتطلبات الأساسية

المتطلبات

توصي Cisco بأن تكون لديك معرفة أساسية بالمواضيع التالية:

- برنامج IOS-XE من Cisco

- واجهة سطر الأوامر ASR

ملاحظة: قد تحتاج إلى ترخيص خاص لتسجيل الدخول إلى طبقة Linux على موجه من سلسلة ASR 1001.

المكونات المستخدمة

تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:

- جميع الأنظمة الأساسية ل ASR1K

- جميع إصدارات برنامج Cisco IOS-XE التي تدعم النظام الأساسي ASR1K

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر.

نظرة عامة على تخطيط ذاكرة ASR

باستخدام معظم الأنظمة الأساسية للموجه القائمة على البرامج، يتم تشغيل معظم عمليات البرامج الداخلية في ذاكرة 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 جيجابايت، مما يتيح له إمكانية التطوير إلى ملايين المسارات.

ملاحظة: تأكد من توفر ذاكرة كافية لديك قبل تنشيط أي ميزات جديدة. توصي Cisco بأن يكون لديك DRAM سعة 8 جيجابايت على الأقل إذا كنت تستلم جدول توجيه بروتوكول العبارة الحدودية بالكامل (BGP) عند تمكين تكرار البرامج لمنع إستهلاك الذاكرة.

تخصيص الذاكرة ضمن تجمع lsmpi_io

يتم إستخدام تجمع ذاكرة واجهة ذاكرة 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 العناصر الوظيفية التالية في نظامه:

- معالج ASR 1000 Series Route (RP)

- معالج الخدمات المضمنة ASR 1000 Series Embedded Services Processor (ESP)

- معالج واجهة SPA (SIP) من ASR 1000 Series

وعلى هذا النحو، يلزم مراقبة إستخدام الذاكرة من قبل كل معالج من هذه المعالجات في بيئة إنتاج.

تقوم معالجات التحكم بتشغيل برنامج Cisco IOS-XE الذي يتكون من نواة قائمة على Linux ومجموعة مشتركة من برامج الأداة المساعدة على مستوى نظام التشغيل، والتي تتضمن برنامج Cisco IOS الذي يعمل كعملية مستخدم على بطاقة RP.

التحقق من إستخدام الذاكرة على IOS-XE

أدخل الأمر 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%)

ملاحظة: تعد الذاكرة الإلزامية تقديرا لكمية ذاكرة الوصول العشوائي (RAM) التي تحتاج إليها لضمان عدم نفاد ذاكرة النظام (OOM) أبدا الخاصة بهذا حمل العمل. عادة، يتجاوز النواة الذاكرة. على سبيل المثال، عندما تشغل وحدة مالوك سعة 1 جيجابايت، لا يحدث أي شيء حقا. يمكنك تلقي ذاكرة حقيقية عند الطلب فقط عندما تبدأ في إستخدام هذه الذاكرة المخصصة، وبالقدر الذي تستخدمه فقط.

يمكن أن يقوم كل معالج مدرج في الإخراج السابق بالإبلاغ عن الحالة على أنها سليمة أو تحذير أو حرجة، والتي تعتمد على مقدار الذاكرة الحرة. إذا عرض أي من المعالجات الحالة على أنها تحذير أو حرج، فأدخل الأمر 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>

ملاحظة: لفرز المخرجات بترتيب تنازلي لاستخدام الذاكرة، اضغط على Shift + M.

التحقق من إستخدام الذاكرة على IOSd

إذا لاحظت أن عملية 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

ملاحظة: فتح حالة مركز المساعدة الفنية إذا كنت بحاجة إلى مساعدة لاستكشاف أخطاء الذاكرة وإصلاحها أو تحديد ما إذا كان إستخدام الذاكرة شرعيا.

التحقق من إستخدام TCAM على ASR1K

تصنيف حركة المرور هو أحد أكثر الوظائف الأساسية التي تم العثور عليها في الموجهات والمحولات. تتطلب العديد من التطبيقات والميزات أن توفر أجهزة البنية الأساسية هذه الخدمات المتنوعة للمستخدمين المختلفين بناء على متطلبات الجودة. يجب أن تكون عملية تصنيف حركة المرور سريعة، بحيث لا يتم خفض معدل إخراج الجهاز بشكل كبير. تستخدم منصة 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

ملاحظة: توصي Cisco بأن تقوم بالتحقق دائما من حالة الحد قبل إجراء أي تغييرات على قوائم الوصول أو سياسات جودة الخدمة (QoS)، حتى تتوفر في TCAM خلايا حرة كافية لبرمجة الإدخالات.

إذا كان معالج إعادة التوجيه يعمل بشكل منخفض للغاية على خلايا 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

بالإضافة إلى الذاكرة الفعلية، هناك أيضا ذاكرة متصلة بمعالج التدفق الكمي (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