يشرح هذا المستند عمليات EXEC و Virtual EXEC، وكيفية أستكشاف أخطاء إستخدام وحدة المعالجة المركزية (CPU) العالي وإصلاحها في هذه العمليات.
توصيك Cisco بقراءة أستكشاف أخطاء إستخدام وحدة المعالجة المركزية (CPU) العالي وإصلاحها على موجهات Cisco قبل المتابعة بهذا المستند.
لا يقتصر هذا المستند على إصدارات برامج ومكونات مادية معينة.
تم إنشاء المعلومات المُقدمة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كنت تعمل في شبكة مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر قبل استخدامه.
للحصول على مزيد من المعلومات حول اصطلاحات المستندات، ارجع إلى اصطلاحات تلميحات Cisco التقنية.
تكون عملية EXEC في برنامج Cisco IOS® مسؤولة عن الاتصال على خطوط tty (وحدة التحكم، المساعدة، غير المتزامنة) للموجه. تكون عملية EXEC الظاهرية مسؤولة عن خطوط vty (جلسات عمل برنامج telnet).
تعتبر عمليتا EXEC و Virtual EXEC عمليتين متوسطتي الأولوية، لذلك إذا كانت هناك عمليات أخرى لها أولوية أعلى (عالية أو حرجة)، فإن العمليات ذات الأولوية الأعلى تحصل على موارد وحدة المعالجة المركزية.
router#show process | i CPU|Exec CPU utilization for five seconds: 0%/0%; one minute: 0%; five minutes: 0% PID QTy PC Runtime (ms) Invoked uSecs Stacks TTY Process 22 M* 0 9644 1733 5564 9732/12000 0 Exec 46 ME 80468980 28 6 466610520/12000 66 Virtual Exec
راجع الأمر show process للحصول على شرح كامل لمخرجات هذا الأمر.
إذا تم نقل الكثير من البيانات من خلال هذه الجلسات، فسيزداد إستخدام وحدة المعالجة المركزية (CPU) لعملية EXEC.
وذلك لأنه عندما يريد الموجه إرسال حرف بسيط من خلال هذه الخطوط، يستخدم الموجه بعض موارد وحدة المعالجة المركزية (CPU):
بالنسبة لوحدة التحكم (EXEC)، يستخدم الموجه مقاطعة واحدة لكل حرف.
يمكن ملاحظة مقاطعة وحدة التحكم في إخراج الأمر show stacks:
router#show stacks Minimum process stacks: Free/Size Name 11516/12000 Router Init 9404/12000 Init 5520/6000 AIM_MIB_CREATION 5448/6000 RADIUS INITCONFIG 9728/12000 Virtual Exec Interrupt level stacks: Level Called Unused/Size Name 1 23035463 7008/9000 Network interfaces 2 0 9000/9000 Timebase Reference Interrupt 3 0 9000/9000 PA Management Int Handler 6 9791 8892/9000 16552 Con/Aux Interrupt 7 1334963882 8920/9000 MPC860 TIMER INTERRUPT
بالنسبة لخط vty (Virtual Exec)، يجب أن تقوم جلسة عمل برنامج Telnet بإنشاء حزمة TCP وإرسال الحرف (الحروف) إلى عميل برنامج Telnet.
مدرج هنا بعض الأسباب المحتملة للاستخدام العالي لوحدة المعالجة المركزية (CPU) في عملية EXEC:
يتم إرسال بيانات كثيرة جدا من خلال منفذ وحدة التحكم.
يعد عدد رسائل وحدة التحكم الكثيرة التي تم إنشاؤها بواسطة الموجه سببا ممكنا.
تحقق لمعرفة ما إذا تم بدء تشغيل أي تصحيح أخطاء على الموجه باستخدام الأمر show debugging.
تعطيل تسجيل دخول وحدة التحكم إلى الموجه باستخدام (لا يوجد وحدة تحكم بالتسجيل).
تحقق مما إذا تم طباعة إخراج طويل على وحدة التحكم (على سبيل المثال، show tech support أو show memory).
هناك خطأ في برنامج Cisco IOS software.
أستخدم مجموعة أدوات الخطأ (العملاء المسجلون فقط) للبحث عن الأخطاء التي لها هذا العرض في إصدار برنامج Cisco IOS لديك.
تم تكوين أمر EXEC للخطوط غير المتزامنة والفرعية.
إذا كان للخط حركة مرور صادرة فقط، فيجب تعطيل عملية EXEC لهذا الخط، لأنه إذا كان الجهاز (على سبيل المثال، مودم) المرتبط بهذا السطر يرسل بعض البيانات غير المرغوب فيها، تبدأ عملية EXEC في هذا السطر.
إذا تم إستخدام الموجه كخادم طرفي (لشبكة telnet العكسية بوحدات تحكم الأجهزة الأخرى)، فيوصى بتكوين no exec على الخطوط المتصلة بوحدة تحكم الأجهزة الأخرى. وقد تقوم البيانات الواردة من وحدة التحكم بتشغيل عملية EXEC، التي تستخدم موارد وحدة المعالجة المركزية (CPU).
سرد هنا بعض الأسباب المحتملة لاستخدام وحدة المعالجة المركزية (CPU) بشكل كبير في عملية Virtual Exec:
خطأ برنامج في برنامج Cisco IOS software
أستخدم مجموعة أدوات الخطأ (العملاء المسجلون فقط) للبحث عن الأخطاء التي تحتوي على هذا العرض لإصدار برنامج Cisco IOS لديك.
يتم إرسال بيانات كثيرة جدا عبر جلسات عمل برنامج Telnet.
السبب الأكثر شيوعا لاستخدام وحدة المعالجة المركزية (CPU) العالي في عملية EXEC الظاهرية هو نقل بيانات كثيرة للغاية من الموجه إلى جلسة عمل برنامج Telnet.
يمكن أن يحدث ذلك عندما يتم تنفيذ الأوامر ذات المخرجات الطويلة (مثل show tech-support، show memory، وما إلى ذلك) من جلسة عمل برنامج Telnet.
يمكن التحقق من مقدار البيانات التي تم نقلها من خلال كل جلسة عمل vty باستخدام الأمر show tcp:
router#show tcp vty 0
tty66, virtual tty from host 10.48.77.64
Connection state is ESTAB, I/O status: 1, unread input bytes: 1
Local host: 10.48.77.27, Local port: 23
Foreign host: 10.48.77.64, Foreign port: 11006
........
Datagrams (max data segment is 1460 bytes):
Rcvd: 525 (out of order: 0), with data: 53, total data bytes: 87
Sent: 366 (retransmit: 257, fastretransmit: 0), with data: 356, total data bytes:
158187
تؤدي جلسة عمل برنامج Telnet المعلقة إلى وحدة معالجة مركزية (CPU) عالية بسبب عملية Virtual Exec. لمسح جلسة عمل برنامج Telnet المعلقة، يلزم إعادة تحميل الجهاز في معظم الحالات. الطريقة الأخرى لمسح جلسة عمل برنامج Telnet المعلقة هي مسح عملية TCP. يمكن تعريف عملية TCP باستخدام الأمر show tcp brief كما هو الحال في هذا الإخراج:
Router#show tcp brief TCB Local Address Foreign Address (state) 02FA62D0 172.16.152.75.23 dhcp-171-69-104-.3013 ESTAB
من الإخراج أعلاه، يلزم مسح عملية TCP 02FA62D0 لمسح جلسة برنامج Telnet المعلقة باستخدام الأمر clear tcp tcb 0x02fa62d0 .
المراجعة | تاريخ النشر | التعليقات |
---|---|---|
1.0 |
12-Dec-2008 |
الإصدار الأولي |