المقدمة
في موجه خدمات التجميع 9000 (ASR9K) الذي يشغل XR المحسن (eXR)، والمعروف أيضا باسم XR الإصدار 64 بت، الإصدار 6.2.1 والإصدار الأحدث من الأمر "show memory summary" لا يعرض جميع الذاكرة الداخلية الموثقة على صفحة البيانات المقابلة، مما قد يسبب إرباكا لبعض العملاء.
تفاصيل المشكلة
وسنستخدم أدناه ASR9901، الذي يشغل الإصدار 6.4.2، كمثال.
وفقا لورقة البيانات، يحتوي معالج التوجيه المتكامل (RP) على ذاكرة وصول عشوائي (RAM) بسرعة 32 جيجابايت.
RP/0/RSP0/CPU0:R1#show platform
Node Type State Config state
--------------------------------------------------------------------------------
0/RSP0/CPU0 ASR9901-RP(Active) IOS XR RUN NSHUT
0/FT0 ASR-9901-FAN OPERATIONAL NSHUT
0/FT1 ASR-9901-FAN OPERATIONAL NSHUT
0/FT2 ASR-9901-FAN OPERATIONAL NSHUT
0/0/CPU0 ASR9901-LC IOS XR RUN NSHUT
يظهر "إظهار ملخص الذاكرة" فقط سعة 27 جيجابايت، على الرغم من أن النظام يعرف أن إجمالي الذاكرة هو 32 جيجابايت تحت "عرض موارد النظام من قبل المسؤول".
RP/0/RSP0/CPU0:R1#show memory summary
node: node0_RSP0_CPU0
------------------------------------------------------------------
Physical Memory: 27089M total (22185M available)
Application Memory : 27089M (22013M available)
Image: 4M (bootram: 0M)
Reserved: 0M, IOMem: 0M, flashfsys: 0M
Total shared window: 133M
RP/0/RSP0/CPU0:R1#admin show system resources
Node Physical Application Boot Partition CPUs Shmwin
Total Available Cached Total Available Cached Total Available
0/RSP0-Host 32415M^ 512M^ 135M 31655M^ 500M^ 132 923M 542M 4 N/A
0/RSP0-Admin 1940M 1072M 144M 1894M 1047M 141 2308M 1252M 1 N/A
0/RSP0-XR 27739M 22548M 999M 27089M 22020M 975 N/A N/A 2 6655M
<snip>
ويمكن ملاحظة السلوك نفسه على أجهزة ASR9K الأخرى، على سبيل المثال: ASR9010 مع eXR 6.2.3
عند النظر إلى ورقة البيانات A9K-RSP880-TR يجب أن تحتوي على ذاكرة وصول عشوائي سعة 16 جيجابايت.
RP/0/RSP0/CPU0:R2#show platform
Node Type State Config state
-------------------------------------------------------------------------------
0/RSP0/CPU0 A9K-RSP880-TR(Active) IOS XR RUN NSHUT
0/FT0 ASR-9010-FAN-V2 OPERATIONAL NSHUT
0/FT1 ASR-9010-FAN-V2 OPERATIONAL NSHUT
0/1/CPU0 A9K-MOD400-TR IOS XR RUN NSHUT
0/1/0 A9K-MPA-20X10GE OK
0/1/1 A9K-MPA-1X100GE OK
0/PT0 A9K-AC-PEM-V3 OPERATIONAL NSHUT
0/PT1 A9K-AC-PEM-V3 OPERATIONAL NSHUT
"إظهار ملخص الذاكرة" يعرض 12.5 جيجابايت و"يظهر مسؤول مورد النظام 16 جيجابايت
RP/0/RSP0/CPU0:R2#show memory summary
node: node0_RSP0_CPU0
------------------------------------------------------------------
Physical Memory: 12496M total (8465M available)
Application Memory : 12496M (8287M available)
Image: 4M (bootram: 0M)
Reserved: 0M, IOMem: 0M, flashfsys: 0M
Total shared window: 128M
RP/0/RSP0/CPU0:R2#admin show system resou
Node Physical Application Boot Partition CPUs Shmwin
Total Available Cached Total Available Cached Total Available
0/RSP0-Host 16217M^ 276M^ 29M 15837M^ 271M^ 28 923M 592M 8 N/A
0/RSP0-Admin 1940M 1158M 78M 1894M 1131M 76 2308M 1451M 1 N/A
0/RSP0-XR 12796M 8488M 888M 12496M 8288M 867 N/A N/A 6 3071M
0/1-Host 24491M 11510M 127M 23917M 11241M 124 923M 592M 6 N/A
0/1-Admin 1008M 471M 90M 984M 460M 88 2308M 1528M 1 N/A
0/1-XR 10948M 5902M 2343M 10691M 5764M 2288 N/A N/A 5 3071M
ومع ذلك، إذا فحصنا XR من 32 بت، فإنه يعرض الذاكرة الفعلية الإجمالية كما هي موثقة في ورقة البيانات:
RP/0/RSP0/CPU0:R3#show memory summary
Physical Memory: 16384M total (12600M available)
Application Memory : 16043M (12600M available)
Image: 100M (bootram: 100M)
Reserved: 224M, IOMem: 0, flashfsys: 0
Total shared window: 51M
RP/0/RSP0/CPU0:R3#show platform
Node Type State Config State
-----------------------------------------------------------------------------
0/RSP0/CPU0 A99-RSP-TR(Active) IOS XR RUN PWR,NSHUT,MON
0/RSP1/CPU0 A99-RSP-TR(Standby) IOS XR RUN PWR,NSHUT,MON
0/1/CPU0 A9K-MOD400-SE IOS XR RUN PWR,NSHUT,MON
0/1/0 A9K-MPA-20X10GE OK PWR,NSHUT,MON
0/1/1 A9K-MPA-2X100GE OK PWR,NSHUT,MON
0/2/CPU0 A99-8X100GE-SE IOS XR RUN PWR,NSHUT,MON
0/4/CPU0 A9K-MOD400-TR IOS XR RUN PWR,NSHUT,MON
0/4/0 A9K-MPA-8X10GE OK PWR,NSHUT,MON
0/4/1 A9K-MPA-2X40GE OK PWR,NSHUT,MON
تحليل
بدءا من الإصدار 6.2.1 وما بعده، سيستخدم الطراز eXR على ASR9K نموذج المحاكاة الافتراضية للجهاز الظاهري (VM)، حيث يتم التحويل من إستخدام نموذج حاوية Linux (LXC) الذي تم إستخدامه في الإصدارات 6.1.2 و 6.1.3.
يمكن للحاويات تجميع تطبيقات كثيرة في خادم مادي واحد أكثر مما يمكن للجهاز الظاهري (VM) القيام به.
يمكن للأجهزة الافتراضية إستيعاب الكثير من موارد النظام. لا تقوم كل آلة افتراضية بتشغيل نسخة كاملة من نظام التشغيل فحسب، بل نسخة افتراضية من جميع الأجهزة التي يحتاج نظام التشغيل إلى تشغيلها. وقد يضيف ذلك الكثير من دورات الذاكرة والمعالجة. في المقابل، كل ما تحتاجه الحاوية هو ما يكفي لنظام التشغيل والبرامج والمكتبات الداعمة وموارد النظام لتشغيل برنامج معين. ومع ذلك، تتيح أجهزة افتراضية (VM) مرونة أكبر بكثير لاستيعاب الوظائف مثل ترقية البرامج أثناء الخدمة (ISSU).
بما أن حاويات Linux تتشارك الموارد المادية والنواة الخاصة بالمضيف، في حين أن كل جهاز افتراضي يتطلب نظام تشغيل وجهاز افتراضي خاص به، فإن هذا يفسر لماذا كل جهاز افتراضي يتم تخصيص مقدار معين من الموارد من المضيف الإجمالي الذي ينتج عنه عدم عرض ملخص الذاكرة show إجمالي الذاكرة الفعلية على الإصدار 6.2.1 والإصدارات الأحدث. يمكن أن يكون لدى متصفح Linux حد للذاكرة المخصصة لأنها تظهر على منصات NCS5000 و NCS5500 كما سيتم ملاحظة نفس سلوكيات واجهة سطر الأوامر "show memory summary" على هذه الأنظمة.