المحتويات

المقدمة

معلومات أساسية

دراسة حالة: مقاطعات بروتوكول تحليل العنوان (ARP)

الخطوة 1: تحديد العملية التي تستهلك دورات وحدة المعالجة المركزية (CPU)

الخطوة 2: تحديد قائمة انتظار وحدة المعالجة المركزية (CPU) التي تتسبب في حدوث حالة إستخدام عالية لوحدة المعالجة المركزية

الخطوة 3: إلغاء الحزمة المرسلة إلى وحدة المعالجة المركزية

الخطوة 4: إستخدام تتبع موجز الويب

نموذج برنامج مدير الحدث المضمن (IM) النصي لمحول Cisco Catalyst 3850 Series Switch

إصدارات Cisco IOS XE 16.x أو الأحدث

معلومات ذات صلة

المقدمة

يوضح هذا المستند كيفية أستكشاف أخطاء إستخدام وحدة المعالجة المركزية (CPU) وإصلاحها، ويرجع ذلك بشكل أساسي إلى المقاطعات، على النظام الأساسي الجديد Cisco IOS® XE.

معلومات أساسية

من المهم فهم كيفية إنشاء برنامج Cisco IOS® XE. مع برنامج Cisco IOS® XE، انتقلت Cisco إلى نواة Linux وتم تقسيم جميع الأنظمة الفرعية إلى عمليات. تعمل جميع الأنظمة الفرعية التي كانت داخل برنامج Cisco IOS قبل ذلك مثل برامج تشغيل الوحدات عالية التوفر (HA) وما إلى ذلك الآن كعمليات برامج داخل نظام التشغيل (OS) لينوكس. يعمل برنامج Cisco IOS نفسه كبرنامج تشغيل داخل نظام التشغيل (IOS) من Linux. ولا يحتفظ برنامج Cisco IOS® XE بنفس المظهر والمظهر الخاصين ببرنامج Cisco IOS® التقليدي فحسب، بل يحتفظ أيضا بتشغيله ودعمه وإدارته.

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

فيما يلي بعض التعاريف المفيدة:

- برنامج تشغيل محرك إعادة التوجيه (FED): هذا هو قلب المحول Cisco Catalyst 3850 Series Switch وهو مسؤول عن جميع برمجة/إعادة توجيه الأجهزة.

- Cisco IOS D: هذا هو البرنامج الخفي Cisco IOS® الذي يعمل على نواة Linux. يتم تشغيله كعملية برمجية ضمن kernel.

- نظام توصيل الحزم (PDS): هذه هي بنية عملية كيفية تسليم الحزم من الأنظمة الفرعية المختلفة وإليها. وعلى سبيل المثال، فإنه يتحكم في كيفية تسليم الحزم من FED إلى IOSd والعكس بالعكس.

- المؤشر: يمكن إعتبار المؤشر مقبض. إنه وسيلة لاكتشاف معلومات أكثر تفصيلا حول متغيرات معينة يتم إستخدامها في المخرجات التي ينتجها المربع. هذا مماثل إلى مفهوم المؤشرات المحلية للمنطق الهدف (LTL) على ال cisco مادة حفازة 6500 sery مفتاح.

دراسة حالة: مقاطعات بروتوكول تحليل العنوان (ARP)

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

الخطوة 1: تحديد العملية التي تستهلك دورات وحدة المعالجة المركزية (CPU)

يعرض أمر show process cpu بشكل طبيعي كيفية ظهور وحدة المعالجة المركزية (CPU) حاليا. لاحظ أن المحول Cisco Catalyst 3850 Series switch يستخدم أربع نوى، وسترى إستخدام وحدة المعالجة المركزية (CPU) مدرجا لجميع المراكز الأربعة:

3850-2#show processes cpu sorted | exclude 0.0

Core 0: CPU utilization for five seconds: 53%; one minute: 39%;  five minutes: 41%

Core 1: CPU utilization for five seconds: 43%; one minute: 57%;  five minutes: 54%

Core 2: CPU utilization for five seconds: 95%; one minute: 60%;  five minutes: 58%

Core 3: CPU utilization for five seconds: 32%; one minute: 31%;  five minutes: 29%

PID    Runtime(ms) Invoked  uSecs  5Sec     1Min     5Min     TTY   Process

8525   472560      2345554  7525   31.37    30.84    30.83    0     iosd

5661   2157452     9234031  698    13.17    12.56    12.54    1088  fed

6206   19630       74895    262    1.83     0.43     0.10     0     eicored

6197   725760      11967089 60     1.41     1.38     1.47     0     pdsd

من الإخراج، من الواضح أن برنامج Cisco IOS® يستهلك جزءا كبيرا من وحدة المعالجة المركزية (CPU) مع FED، والذي يمثل قلب هذا المربع. عندما يكون إستخدام وحدة المعالجة المركزية (CPU) مرتفعا بسبب المقاطعات، ترى أن Cisco IOSd و FED يستخدمان جزءا كبيرا من وحدة المعالجة المركزية، وتستخدم هذه العمليات الفرعية (أو مجموعة فرعية من هذه) وحدة المعالجة المركزية:

- FED Punject TX

- فيدينت بنج آر إكس

- تغذية بالقطع من الاحتياطي الفيدرالي

- اكتمال FED Punject TX

يمكنك تكبير أي من هذه العمليات باستخدام الأمر show process cpu detail <process>. ونظرا لأن برنامج Cisco IOSd مسؤول عن غالبية إستخدام وحدة المعالجة المركزية، فإليك نظرة أكثر قربا على ذلك.

3850-2#show processes cpu detailed process iosd sorted | ex 0.0

Core 0: CPU utilization for five seconds: 36%; one minute: 39%; five minutes: 40%

Core 1: CPU utilization for five seconds: 73%; one minute: 52%; five minutes: 53%

Core 2: CPU utilization for five seconds: 22%; one minute: 56%; five minutes: 58%

Core 3: CPU utilization for five seconds: 46%; one minute: 40%; five minutes: 31%

PID    T C  TID   Runtime(ms)Invoked uSecs 5Sec   1Min   5Min  TTY  Process

(%)    (%)    (%)

8525   L          556160     2356540 7526  30.42   30.77  30.83  0   iosd

8525   L 1  8525  712558     284117  0     23.14   23.33  23.38  0   iosd

59     I          1115452    4168181 0     42.22   39.55  39.33  0   ARP Snoop

198    I          3442960    4168186 0     25.33   24.22  24.77  0   IP Host Track Proce

30     I          3802130    4168183 0     24.66   27.88  27.66  0   ARP Input

283    I          574800     3225649 0     4.33    4.00   4.11   0   DAI Packet Process

3850-2#show processes cpu detailed process fed sorted | ex 0.0

Core 0: CPU utilization for five seconds: 45%; one minute: 44%; five minutes: 44%

Core 1: CPU utilization for five seconds: 38%; one minute: 44%; five minutes: 45%

Core 2: CPU utilization for five seconds: 42%; one minute: 41%; five minutes: 40%

Core 3: CPU utilization for five seconds: 32%; one minute: 30%; five minutes: 31%

PID    T C  TID   Runtime(ms)Invoked uSecs 5Sec   1Min   5Min   TTY  Process

(%)    (%)    (%)

5638   L          612840     1143306 536   13.22  12.90   12.93  1088  fed

5638   L 3  8998  396500     602433  0     9.87   9.63    9.61   0     PunjectTx

5638   L 3  8997  159890     66051   0     2.70   2.70    2.74   0     PunjectRx

يوضح الإخراج (إخراج وحدة المعالجة المركزية (CPU) الخاصة ب Cisco IOSd) أن بروتوكول تحليل العناوين (ARP)، وعملية مسار مضيف IP، وإدخال ARP هي عالية. وهذا يظهر بشكل عام عند مقاطعة وحدة المعالجة المركزية (CPU) بسبب حزم ARP.

الخطوة 2: تحديد قائمة انتظار وحدة المعالجة المركزية (CPU) التي تتسبب في حدوث حالة إستخدام عالية لوحدة المعالجة المركزية

يحتوي المحول Cisco Catalyst 3850 Series switch على عدد من قوائم الانتظار التي تلبي أنواع مختلفة من الحزم (يحتفظ FED بقوائم انتظار وحدة المعالجة المركزية (CPU) بسرعة 32 RX، والتي تكون قوائم انتظار تنتقل مباشرة إلى وحدة المعالجة المركزية (CPU). من المهم مراقبة قوائم الانتظار هذه لاكتشاف الحزم التي يتم انتقاؤها إلى وحدة المعالجة المركزية وتلك التي تتم معالجتها بواسطة Cisco IOSd. هذه قوائم الانتظار لكل ASIC.

ملاحظة: هناك نوعان من بطاقات ASIC: صفر و 1. تنتمي المنافذ من 1 إلى 24 إلى ASIC 0.

لعرض قوائم الانتظار، أدخل show platform punt statistics port-asic <port-asic>cpuq <queue> إتجاه

erasecat4000_flash:.

في أمر show platform punt statistics port-asic 0 cpuq - 1 direction rx، تسرد الوسيطة -1 جميع قوائم الانتظار. لذلك، يسرد هذا الأمر كل قوائم انتظار الاستلام ل Port-ASIC 0.

الآن، أنت ينبغي عينت أي صف يدفع عدد كبير من ربط بمعدل عالي. في هذا المثال، فحص قوائم الانتظار كشف عن هذا الجاني:

<snip>

RX (ASIC2CPU) Stats (asic 0 qn 16 lqn 16):

RXQ 16: CPU_Q_PROTO_SNOOPING

----------------------------------------

Packets received from ASIC     : 79099152

Send to IOSd total attempts    : 79099152

Send to IOSd failed count      : 1240331

RX suspend count               : 1240331

RX unsuspend count             : 1240330

RX unsuspend send count        : 1240330

RX unsuspend send failed count : 0

RX dropped count               : 0

RX conversion failure dropped  : 0

RX pkt_hdr allocation failure  : 0

RX INTACK count                : 0

RX packets dq'd after intack   : 0

Active RxQ event               : 9906280

RX spurious interrupt          : 0

<snip>

رقم قائمة الانتظار هو 16 واسم قائمة الانتظار هو CPU_Q_PROTO_SNOOPING.

وهناك طريقة أخرى لاكتشاف قائمة انتظار الجناة وهي إدخال الأمر show platform punt client.

3850-2#show platform punt client

tag      buffer        jumbo    fallback     packets   received   failures

alloc   free  bytes    conv  buf

27       0/1024/2048     0/5       0/5        0     0          0     0     0

65536    0/1024/1600     0/0       0/512      0     0          0     0     0

65537    0/ 512/1600     0/0       0/512   1530  1530     244061     0     0

65538    0/   5/5        0/0       0/5        0     0          0     0     0

65539    0/2048/1600     0/16      0/512      0     0          0     0     0

65540    0/ 128/1600     0/8       0/0        0     0          0     0     0

65541    0/ 128/1600     0/16      0/32       0     0          0     0     0

65542    0/ 768/1600     0/4       0/0        0     0          0     0     0

65544    0/  96/1600     0/4       0/0        0     0          0     0     0

65545    0/  96/1600     0/8       0/32       0     0          0     0     0

65546    0/ 512/1600     0/32      0/512      0     0          0     0     0

65547    0/  96/1600     0/8       0/32       0     0          0     0     0

65548    0/ 512/1600     0/32      0/256      0     0          0     0     0

65551    0/ 512/1600     0/0       0/256      0     0          0     0     0

65556    0/  16/1600     0/4       0/0        0     0          0     0     0

65557    0/  16/1600     0/4       0/0        0     0          0     0     0

65558    0/  16/1600     0/4       0/0        0     0          0     0     0

65559    0/  16/1600     0/4       0/0        0     0          0     0     0

65560    0/  16/1600     0/4       0/0        0     0          0     0     0

s65561  421/ 512/1600     0/0       0/128  79565859 131644697  478984244     0 37467

65563    0/ 512/1600     0/16      0/256      0     0          0     0     0

65564    0/ 512/1600     0/16      0/256      0     0          0     0     0

65565    0/ 512/1600     0/16      0/256      0     0          0     0     0

65566    0/ 512/1600     0/16      0/256      0     0          0     0     0

65581    0/   1/1        0/0       0/0        0     0          0     0     0

131071   0/  96/1600     0/4       0/0        0     0          0     0     0

fallback pool: 98/1500/1600

jumbo pool:    0/128/9300

حدد العلامة التي تم تخصيص معظم الحزم لها. في هذا مثال، هو 65561.

بعد ذلك، أدخل هذا الأمر:

3850-2#show pds tag all | in Active|Tags|65561

Active   Client Client

Tags   Handle Name                 TDA       SDA         FDA   TBufD       TBytD

65561  7296672 Punt Rx Proto Snoop  79821397  79821397    0  79821397   494316524

يوضح هذا الإخراج أن قائمة الانتظار هي Rx Proto Snoop.

يعني الحرف S قبل الرقم 65561 في إخراج الأمر show platform punt client أن مؤشر FED معلق ومرهق بعدد الحزم الواردة. إذا لم تختفي s، فهذا يعني أن قائمة الانتظار عالقة بشكل دائم.

الخطوة 3: إلغاء الحزمة المرسلة إلى وحدة المعالجة المركزية

في نتائج الأمر show pds tag all، لاحظ مقبض، 7296672، ويتم الإبلاغ عنه بجوار التطفل على Punt Rx Proto.

أستخدم هذا المؤشر في أمر آخر مخزن للحزمة <handle> لعميل show pds. لاحظت أن أنت ينبغي مكنت debug pktbuf-last قبل أن يستعمل أنت الأمر. وإلا، فإنك تواجه هذا الخطأ:

3850-2#show pds client 7296672 packet last sink

% switch-2:pdsd:This command works in debug mode only. Enable debug using

"debug pds pktbuf-last" command

مع تمكين تصحيح الأخطاء، ترى هذا المخرج:

3850-2#show pds client 7296672 packet last sink

Dumping Packet(54528) # 0 of Length 60

-----------------------------------------

Meta-data

0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

0010 00 00 16 1d 00 00 00 00 00 00 00 00 55 5a 57 f0  ............UZW.

0020 00 00 00 00 fd 01 10 df 00 5b 70 00 00 10 43 00  .........[p...C.

0030 00 10 43 00 00 41 fd 00 00 41 fd 00 00 00 00 00  ..C..A...A......

0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

0050 00 00 00 3c 00 00 00 00 00 01 00 19 00 00 00 00  ...<............

0060 01 01 b6 80 00 00 00 4f 00 00 00 00 00 00 00 00  .......O........

0070 01 04 d8 80 00 00 00 33 00 00 00 00 00 00 00 00  .......3........

0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

0090 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

00a0 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00  ................

Data

0000 ff ff ff ff ff ff aa bb cc dd 00 00 08 06 00 01  ................

0010 08 00 06 04 00 01 aa bb cc dd 00 00 c0 a8 01 0a  ................

0020 ff ff ff ff ff ff c0 a8 01 14 00 01 02 03 04 05  ................

0030 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11              ............

يقوم هذا الأمر بتفريغ الحزمة الأخيرة التي يتم استقبالها بواسطة المخزن، وهي Cisco IOSd في هذا المثال. وهذا يوضح أنه يقوم بإسقاط الرأس ويمكن فك ترميزه باستخدام Wireshark (TShark) القائم على المحطة الطرفية. البيانات الوصفية مخصصة للاستخدام الداخلي بواسطة النظام، ولكن إخراج البيانات يوفر معلومات حزمة فعلية. بيد أن البيانات الفوقية تظل مفيدة للغاية.

لاحظوا الخط الذي يبدأ ب 0070. أستخدم ال 16 بت الأولى بعد ذلك كما هو موضح هنا:

3850-2#show platform port-asic ifm iif-id 0x0104d88000000033

Interface Table

Interface IIF-ID        : 0x0104d88000000033

Interface Name          : Gi2/0/20

Interface Block Pointer : 0x514d2f70

Interface State         : READY

Interface Stauts        : IFM-ADD-RCVD, FFM-ADD-RCVD

Interface Ref-Cnt       : 6

Interface Epoch         : 0

Interface Type          : ETHER

Port Type         : SWITCH PORT

Port Location     : LOCAL

Slot              : 2

Unit              : 20

Slot Unit         : 20

Acitve            : Y

SNMP IF Index     : 22

GPN               : 84

EC Channel        : 0

EC Index          : 0

ASIC              : 0

ASIC Port         : 14

Port LE Handle    : 0x514cd990

Non Zero Feature Ref Counts

FID : 48(AL_FID_L2_PM), Ref Count : 1

FID : 77(AL_FID_STATS), Ref Count : 1

FID : 51(AL_FID_L2_MATM), Ref Count : 1

FID : 13(AL_FID_SC), Ref Count : 1

FID : 26(AL_FID_QOS), Ref Count : 1

Sub block information

FID : 48(AL_FID_L2_PM), Private Data &colon; 0x54072618

FID : 26(AL_FID_QOS), Private Data &colon; 0x514d31b8

يتم تعريف واجهة المسؤول هنا. GIG2/0/20 حيث هناك مولد حركة مرور يضخ حركة مرور ARP. إذا قمت بإيقاف تشغيل هذا، فسيعمل على حل المشكلة وتقليل إستخدام وحدة المعالجة المركزية (CPU).

الخطوة 4: إستخدام تتبع موجز الويب

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

هناك طريقة أفضل لاستكشاف أخطاء هذا الأمر وإصلاحها تتمثل في إستخدام ميزة تسمى تتبع FED. التتبع هو طريقة التقاط الحزمة (باستخدام عوامل تصفية مختلفة) التي يتم دفعها بواسطة بنك الاحتياطي الفيدرالي إلى وحدة المعالجة المركزية. ومع ذلك، فإن تعقب FED ليس بسيطا مثل ميزة NetDR على المحول Cisco Catalyst 6500 Series Switch.

هنا تقسم العملية إلى خطوات:

1. تمكين تعقب التفاصيل. بشكل افتراضي، يكون تتبع الحدث قيد التشغيل. أنت ينبغي مكنت تتبع تفصيل in order to على قبض الربط حقيقي:

3850-2#set trace control fed-punject-detail enable

2. ضبط مخزن الالتقاط المؤقت بدقة. حدد مدى عمق المخازن المؤقتة الخاصة بك من أجل تتبع التفاصيل وزيادتها حسب الحاجة.

3850-2#show mgmt-infra trace settings fed-punject-detail

One shot Trace Settings:

Buffer Name: fed-punject-detail

Default Size: 32768

Current Size: 32768

Traces Dropped due to internal error: No

Total Entries Written: 0

One shot mode: No

One shot and full: No

Disabled: False
يمكنك تغيير حجم المخزن المؤقت باستخدام هذا الأمر:

3850-2#set trace control fed-punject-detail buffer-size

القيم المتوفرة لك هي:

3850-2#set trace control fed-punject-detail buffer-size ?

<8192-67108864>  The new desired buffer size, in bytes

default          Reset trace buffer size to default

3. إضافة عوامل تصفية الالتقاط. أنت الآن تحتاج أن يضيف مختلف مرشح للالتقاط. يمكنك إضافة مرشحات مختلفة وإما أن تختار أن تطابق الكل أو مطابقة أي من تلك من أجل الالتقاط الخاص بك.

تتم إضافة المرشحات باستخدام هذا الأمر:

3850-2#set trace fed-punject-detail direction rx filter_add

هذه الخيارات متوفرة حاليا:

3850-2#set trace fed-punject-detail direction rx filter_add ?

cpu-queue  rxq 0..31

field      field

offset     offset
الآن عليك ربط الأشياء معا. هل تريد تذكر قائمة انتظار الجناة التي تم تعريفها في الخطوة 2 من عملية أستكشاف الأخطاء وإصلاحها هذه؟ ونظرا لأن قائمة الانتظار 16 هي قائمة الانتظار التي تدفع عددا كبيرا من الحزم نحو وحدة المعالجة المركزية، فمن المنطقي تعقب قائمة الانتظار هذه ورؤية الحزم التي يتم تثبيتها على وحدة المعالجة المركزية بها.

يمكنك إختيار تتبع أي قائمة انتظار باستخدام هذا الأمر:

3850-2#set trace fed-punject-detail direction rx filter_add cpu-queue

فيما يلي الأمر الخاص بهذا المثال:

3850-2#set trace fed-punject-detail direction rx filter_add cpu-queue 16 16
يجب إختيار إما مطابقة الكل أو مطابقة أي لعوامل التصفية ثم تمكين التتبع:

3850-2#set trace fed-punject-detail direction rx match_all

3850-2#set trace fed-punject-detail direction rx filter_enable

4. عرض الحزم التي تمت تصفيتها. يمكنك عرض الحزم الملتقطة باستخدام الأمر show mgmt-infra trace messages fed-punject-detail.

3850-2#show mgmt-infra trace messages fed-punject-detail

[11/25/13 07:05:53.814 UTC 2eb0c9 5661]

00 00 00 00 00 4e 00 40 07 00 02 08 00 00 51 3b

00 00 00 00 00 01 00 00 03 00 00 00 00 00 00 01

00 00 00 00 20 00 00 0e 00 00 00 00 00 01 00 74

00 00 00 04 00 54 41 02 00 00 00 00 00 00 00 00

[11/25/13 07:05:53.814 UTC 2eb0ca 5661]

ff ff ff ff ff ff aa bb cc dd 00 00 08 06 00 01

08 00 06 04 00 01 aa bb cc dd 00 00 c0 a8 01 0a

ff ff ff ff ff ff c0 a8 01 14 00 01 02 03 04 05

06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 f6 b9 10 32

[11/25/13 07:05:53.814 UTC 2eb0cb 5661] Frame descriptors:

[11/25/13 07:05:53.814 UTC 2eb0cc 5661]

=========

fdFormat=0x4    systemTtl=0xe

loadBalHash1=0x8        loadBalHash2=0x8

spanSessionMap=0x0      forwardingMode=0x0

destModIndex=0x0        skipIdIndex=0x4

srcGpn=0x54     qosLabel=0x41

srcCos=0x0      ingressTranslatedVlan=0x3

bpdu=0x0        spanHistory=0x0

sgt=0x0 fpeFirstHeaderType=0x0

srcVlan=0x1     rcpServiceId=0x2

wccpSkip=0x0    srcPortLeIndex=0xe

cryptoProtocol=0x0      debugTagId=0x0

vrfId=0x0       saIndex=0x0

pendingAfdLabel=0x0     destClient=0x1

appId=0x0       finalStationIndex=0x74

decryptSuccess=0x0      encryptSuccess=0x0

rcpMiscResults=0x0      stackedFdPresent=0x0

spanDirection=0x0       egressRedirect=0x0

redirectIndex=0x0       exceptionLabel=0x0

destGpn=0x0     inlineFd=0x0

suppressRefPtrUpdate=0x0        suppressRewriteSideEfects=0x0

cmi2=0x0        currentRi=0x1

currentDi=0x513b        dropIpUnreachable=0x0

srcZoneId=0x0   srcAsicId=0x0

originalDi=0x0  originalRi=0x0

srcL3IfIndex=0x2        dstL3IfIndex=0x0

dstVlan=0x0     frameLength=0x40

fdCrc=0x7       tunnelSpokeId=0x0

=========

[11/25/13 07:05:53.814 UTC 2eb0cd 5661]

[11/25/13 07:05:53.814 UTC 2eb0ce 5661] PUNT PATH (fed_punject_rx_process_packet:

830):RX: Q: 16, Tag: 65561

[11/25/13 07:05:53.814 UTC 2eb0cf 5661] PUNT PATH (fed_punject_get_physical_iif:

579):RX: Physical IIF-id 0x104d88000000033

[11/25/13 07:05:53.814 UTC 2eb0d0 5661] PUNT PATH (fed_punject_get_src_l3if_index:

434):RX: L3 IIF-id 0x101b6800000004f

[11/25/13 07:05:53.814 UTC 2eb0d1 5661] PUNT PATH (fed_punject_fd_2_pds_md:478):

RX: l2_logical_if = 0x0

[11/25/13 07:05:53.814 UTC 2eb0d2 5661] PUNT PATH (fed_punject_get_source_cos:638):

RX: Source Cos 0

[11/25/13 07:05:53.814 UTC 2eb0d3 5661] PUNT PATH (fed_punject_get_vrf_id:653):

RX: VRF-id 0

[11/25/13 07:05:53.814 UTC 2eb0d4 5661] PUNT PATH (fed_punject_get_src_zoneid:667):

RX: Zone-id 0

[11/25/13 07:05:53.814 UTC 2eb0d5 5661] PUNT PATH (fed_punject_fd_2_pds_md:518):

RX: get_src_zoneid failed

[11/25/13 07:05:53.814 UTC 2eb0d6 5661] PUNT PATH (fed_punject_get_acl_log_direction:

695): RX: : Invalid CMI2

[11/25/13 07:05:53.814 UTC 2eb0d7 5661] PUNT PATH (fed_punject_fd_2_pds_md:541):RX:

get_acl_log_direction failed

[11/25/13 07:05:53.814 UTC 2eb0d8 5661] PUNT PATH (fed_punject_get_acl_full_direction:

724):RX: DI 0x513b ACL Full Direction 1

[11/25/13 07:05:53.814 UTC 2eb0d9 5661] PUNT PATH (fed_punject_get_source_sgt:446):

RX: Source SGT 0

[11/25/13 07:05:53.814 UTC 2eb0da 5661] PUNT PATH (fed_punject_get_first_header_type:680):

RX: FirstHeaderType 0

[11/25/13 07:05:53.814 UTC 2eb0db 5661] PUNT PATH (fed_punject_rx_process_packet:916):

RX: fed_punject_pds_send packet 0x1f00 to IOSd with tag 65561

[11/25/13 07:05:53.814 UTC 2eb0dc 5661] PUNT PATH (fed_punject_rx_process_packet:744):

RX: **** RX packet 0x2360 on qn 16, len 128 ****

[11/25/13 07:05:53.814 UTC 2eb0dd 5661]

buf_no 0 buf_len 128

<snip>
يوفر هذا الإخراج الكثير من المعلومات ويمكن أن يكون بشكل نموذجي كافيا لاكتشاف من أين تأتي الحزم وما يحتوي عليه.

الجزء الأول من تفريغ الرأس هو مرة أخرى البيانات الوصفية التي يستخدمها النظام. الجزء الثاني هو الحزمة الفعلية.

ff ff ff ff ff ff - destination MAC address

aa bb cc dd 00 00 - source MAC address
أنت يستطيع أخترت أن يتتبع هذا مصدر {upper}mac address in order to اكتشفت السبب ميناء (ما إن يعين أنت أن هذا هو الغالبية من الربط أن يكون ثبتت من قائمة انتظار 16؛ هذا إنتاج فقط يبدي مثال واحد من الربط والآخر إنتاج/ربط يكون قصت).

ولكن هنالك طريقة افضل. لاحظ أن السجلات الموجودة بعد معلومات الرأس:

[11/25/13 07:05:53.814 UTC 2eb0ce 5661] PUNT PATH (fed_punject_rx_process_packet:

830):RX: Q: 16, Tag: 65561

[11/25/13 07:05:53.814 UTC 2eb0cf 5661] PUNT PATH (fed_punject_get_physical_iif:

579):RX: Physical IIF-id 0x104d88000000033
يخبرك السجل الأول بوضوح من أي قائمة انتظار ووضع علامة على هذه الحزمة. إذا لم تكن على دراية بقائمة الانتظار في وقت سابق، فهذه طريقة سهلة لتحديد أي قائمة انتظار هي.

السجل الثاني أكثر فائدة لأنه يوفر معرف مصنع معرف الواجهة المادية (IIF)-ID للواجهة المصدر. القيمة السداسية هي مؤشر يمكن إستخدامه لتفريغ المعلومات حول ذلك المنفذ:

3850-2#show platform port-asic ifm iif-id 0x0104d88000000033

Interface Table

Interface IIF-ID        : 0x0104d88000000033

Interface Name          : Gi2/0/20

Interface Block Pointer : 0x514d2f70

Interface State         : READY

Interface Stauts        : IFM-ADD-RCVD, FFM-ADD-RCVD

Interface Ref-Cnt       : 6

Interface Epoch         : 0

Interface Type          : ETHER

Port Type         : SWITCH PORT

Port Location     : LOCAL

Slot              : 2

Unit              : 20

Slot Unit         : 20

Active            : Y

SNMP IF Index     : 22

GPN               : 84

EC Channel        : 0

EC Index          : 0

ASIC              : 0

ASIC Port         : 14

Port LE Handle    : 0x514cd990

Non Zero Feature Ref Counts

FID : 48(AL_FID_L2_PM), Ref Count : 1

FID : 77(AL_FID_STATS), Ref Count : 1

FID : 51(AL_FID_L2_MATM), Ref Count : 1

FID : 13(AL_FID_SC), Ref Count : 1

FID : 26(AL_FID_QOS), Ref Count : 1

Sub block information

FID : 48(AL_FID_L2_PM), Private Data &colon; 0x54072618

FID : 26(AL_FID_QOS), Private Data &colon; 0x514d31b8

لقد قمت مرة أخرى بتعريف واجهة المصدر والمسبب.

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

نموذج برنامج مدير الحدث المضمن (IM) النصي لمحول Cisco Catalyst 3850 Series Switch

استعملت هذا أمر in order to أطلقت سجل أن يكون ولدت على عتبة خاص:

process cpu threshold type total rising

interval

switch

يبدو السجل الذي تم إنشاؤه باستخدام الأمر كما يلي:

*Jan 13 00:03:00.271: %CPUMEM-5-RISING_THRESHOLD: 1 CPUMEMd[6300]:  Threshold: : 50, Total CPU Utilzation(total/Intr) :50/0, Top 3 processes(Pid/Util) : 8622/25, 5753/12, 9663/0

يوفر السجل الذي تم إنشاؤه هذه المعلومات:

- إجمالي إستخدام وحدة المعالجة المركزية (CPU) في وقت بدء المشغل. يتم تحديد ذلك بواسطة الاستخدام الإجمالي لوحدة المعالجة المركزية (total/intr):50/0 في هذا المثال.

- العمليات العليا - يتم سرد هذه العمليات في تنسيق PID/CPU٪. في هذا المثال، هذه:

8622/25 - 8622 is PID for IOSd and 25 implies that this process is using 25% CPU.

5753/12 - 5733 is PID for FED and 12 implies that this process is using 12% CPU.

يرد نص IM هنا:

event manager applet highcpu

event syslog pattern "%CPUMEM-5-RISING_THRESHOLD"

action 0.1 syslog msg "high CPU detected"

action 0.2 cli command "enable"

action 0.3 cli command "show process cpu sorted | append nvram:<filename>.txt"

action 0.4 cli command "show process cpu detailed process <process name|process ID>

sorted | nvram:<filename>.txt"

action 0.5 cli command "show platform punt statistics port-asic 0 cpuq -1

direction rx | append nvram:<filename>.txt"

action 0.6 cli command "show platform punt statistics port-asic 1 cpuq -1

direction rx | append nvram:<filename>.txt"

action 0.7 cli command "conf t"

action 0.8 cli command "no event manager applet highcpu"

ملاحظة: لا يعمل أمر حد وحدة المعالجة المركزية حاليا في قطار 3.2.x. نقطة أخرى لتذكرها هي أن هذا الأمر ينظر إلى متوسط إستخدام وحدة المعالجة المركزية (CPU) بين المراكز الأربعة ويولد سجلا عندما يصل هذا المتوسط إلى النسبة المئوية التي تم تعريفها في الأمر.

إصدارات Cisco IOS XE 16.x أو الأحدث

إذا كان لديك محولات Catalyst 3850 switches التي تعمل ببرنامج Cisco IOS® XE Software الإصدار 16.x أو إصدار أحدث، فراجع أستكشاف أخطاء إستخدام وحدة المعالجة المركزية (CPU) العالي وإصلاحها في منصات المحولات Catalyst Switch التي تشغل IOS-XE 16.x.

معلومات ذات صلة

- ما هو Cisco IOS XE؟

- المحولات Cisco Catalyst 3850 switches - أوراق البيانات والأدب

- الدعم الفني والتنزيلات من Cisco