مواجهة مشكلات في الأداء في التطبيقات والخدمات عند التخزين المؤقت لنظام الملفات يستهلك معظم الذاكرة RAM الفعلية

الأعراض

مواجهة مشكلات في الأداء في التطبيقات والخدمات في الإصدارات المختلفة من نظام التشغيل Windows XP ونظام التشغيل Windows Vista Windows Server 2003 Windows Server 2008 ونظام التشغيل Windows Server 2008 R2. بالإضافة إلى ذلك، لاحظت الأعراض التالية:
  • تم نفاد الذاكرة المتوفرة.
  • التخزين المؤقت لنظام الملفات يستهلك معظم الذاكرة RAM الفعلية.
  • توجد وحدة تخزين عالية ومستمرة لطلبات القراءة المخزنة مؤقتاً على القرص الثابت.

السبب

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

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

في إصدارات 32 بت من أنظمة تشغيل Microsoft Windows أقدم من Windows Vista، يكون مجموعات العمل ذاكرة التخزين المؤقت لنظام الملفات حد ذاكرة نظرية من أقل من 1 غيغا بايت (GB). حد نطاق العنوان الظاهري منع استنفاد ذاكرة الوصول العشوائي الفعلية مجموعات العمل ذاكرة التخزين المؤقت لنظام الملفات.

في إصدارات 32 بت من أنظمة التشغيل Windows Vista، يتم تخصيص الموارد kernel بشكل حيوي. زيادة مجموعة العمل الخاصة بالتخزين المؤقت لنظام الملفات لاستخدام نطاق العنوان الظاهري لوضع kernel على حساب الموارد الأخرى kernel. حد نطاق هذه الذاكرة هو أقل من 2 غيغابايت. إذا كان لدى الكمبيوتر أكثر من 2 غيغابايت من ذاكرة الوصول العشوائي الفعلية، لا استنفاد ذاكرة التخزين المؤقت الذاكرة RAM الفعلية. ومع ذلك، يمكن استنفاد ذاكرة التخزين المؤقت مساحة العنوان الظاهرية في kernel. يمكن أن يسبب هذا مرات فشل التخصيص لمكونات النواة.

في إصدارات 64 بت من أنظمة تشغيل Windows، يتم عادة أكبر من ذاكرة الوصول العشوائي الفعلية حجم نطاق العنوان الظاهري. في هذه الحالة، يمكنك زيادة مجموعة العمل للتخزين المؤقت لنظام الملفات إلى يستهلك معظم الذاكرة RAM الفعلية.

الحل البديل

للتغلب على هذه المشكلة، استخدم الدالة جيتسيستيمفيليكاكهيسيزي API والداله سيتسيستيمفيليكاكهيسيزي API لتعيين قيمة الحد الأدنى أو الحد الأقصى حجم لمجموعات العمل ذاكرة التخزين المؤقت لنظام الملفات. استخدام هذه الوظائف هو الأسلوب الوحيد المعتمد لتقييد استهلاك الذاكرة الفعلية بالتخزين المؤقت لنظام الملفات.

خدمة التخزين المؤقت Microsoft Windows الحيوية هي خدمة نموذج يوضح استراتيجية واحدة باستخدام واجهات برمجة التطبيقات هذه للتقليل من آثار هذه المشكلة.

تثبيت واستخدام "خدمة Microsoft حيوية ذاكرة التخزين المؤقت" لا يؤدي استبعاد الدعم ل Microsoft Windows. يتم توفير هذه الخدمة والتعليمات البرمجية المصدر الخاصة به كمثال على كيفية استخدام Microsoft دعم واجهات برمجة التطبيقات للحد من نمو التخزين المؤقت لنظام الملفات.


يمكنك الحصول على الخدمة والتعليمات البرمجية من موقع Microsoft التالي على الويب:

الحالة

أقرت Microsoft أن هذه مشكلة في منتجات Microsoft المسردة في قسم "ينطبق على".

مزيد من المعلومات

تم تحديث خوارزميات إدارة الذاكرة في أنظمة التشغيل Windows 7 و Windows Server 2008 R2 لمعالجة العديد من ملف التخزين المؤقت للمشاكل التي تم العثور عليها في الإصدارات السابقة من Windows. هناك فقط بعض الحالات الفريدة التي لديك لتنفيذ هذه الخدمة على أجهزة الكمبيوتر التي تعمل بنظام التشغيل Windows 7 أو Windows Server 2008 R2.

كيفية تحديد ما إذا كان النظام المتأثر

لتحديد ما إذا كان النظام المتأثر بهذه المشكلة، تثبيت الأداة SysInternals راماب. يمكنك الحصول على الأداة من موقع Windows Sysinternals التالية:


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

في حالة استخدام الأعلى عدد "ملف التعريف"، وحالة استخدام جزء كبير من الذاكرة المتوفرة، مواجهة المشكلة "ذاكرة التخزين المؤقت لنظام الملفات" الموضحة في قسم "الأعراض". يمكنك التحقق من ذلك باستخدام "مراقبة الأداء" لمراقبة عداد وحدات البايت المضمنة في ذاكرة التخزين المؤقت Memory\System ومشاهدة ذاكرة التخزين المؤقت تنمو بشكل مستمر مع مرور الوقت.

الشكل 1- راماب مثال حيث يواجه جهاز الكمبيوتر المشكلة.



الشكل 2- راماب مثال حيث لا يواجه جهاز الكمبيوتر المشكلة.



إذا كان العداد Memory\System وحدات البايت المضمنة في ذاكرة التخزين المؤقت في "مراقبة الأداء" يبين اتجاها تصاعدياً على مر الزمن، يواجه جهاز الكمبيوتر المشكلة، كما هو موضح في الشكل 3.

الشكل 3- مراقبة الأداء مثال حيث يواجه جهاز الكمبيوتر المشكلة مع مرور الوقت.

متطلبات إعادة التشغيل

لا يلزم إعادة تشغيل الكمبيوتر عند تثبيت أو إلغاء تثبيت أو استخدام هذه الخدمة.
إذا كنت يمكنك قراءة هذا المقال لأنك تعمل مع العملاء الذين يعتقد أنها تتأثر بهذه المشكلة، اتبع هذه الخطوات للمساعدة في حل المشكلة.
  1. التحقق من أن راماب الإخراج العميل أو الأداء أداة poolmon البيانات تؤكد أن "التخزين المؤقت لنظام الملفات" يستهلك معظم الذاكرة RAM الفعلية، كما تم وصفه سابقا.
  2. للحصول على خدمة التخزين المؤقت الحيوية Windows:
    • ل Windows Server 2008، أنها متاحة علنا هنا.
    • ل نظام التشغيل Windows Server 2008 R2، متاحة حاليا إلا ضمن Microsoft هنا: http://toolbox/dyncache
  3. بعض إعدادات "التسجيل ذاكرة التخزين المؤقتة الديناميكية" كما يلي:

    ملف الملقمات، قد تحتاج إلى محاولة 1 غيغابايت.
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:00000400
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

    Exchange 2007، قد تحتاج إلى محاولة 500 ميغا بايت:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:000001F4
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

    استخدمت SQL 2005 وما بعدها، في الماضي عند العمل مع SQL هة الخاص, 2 غيغابايت:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:000007D0
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

موارد إضافية

قراءة الفصلين 9 (إدارة الذاكرة) و 10 (إدارة التخزين المؤقت) للداخلية Windows، الإصدار 5.

نشر المدونة (مشكلات ذاكرة التخزين المؤقت لنظام كبير) إدارة الذاكرة

نسخ ملف كبير بطيئا بإصدار مدونة

حدود الذاكرة لإصدارات Windows

976618 واجهت مشكلات في الأداء في التطبيقات والخدمات عند التخزين المؤقت لنظام الملفات يستهلك معظم الذاكرة RAM الفعلية

918483 كيفية الحد من ترحيل صفحات الذاكرة تجمع المخزن المؤقت في الإصدار 64 بت من SQL Server

895932 الأشياء الواجب مراعاتها قبل تمكين وضع ذاكرة التخزين المؤقت للنظام في نظام التشغيل Windows XP

كيفية تحسين Windows NT Server استخدام السجل 232271

837331 حول إدارة ذاكرة التخزين المؤقت في Windows Server 2003

http://technet2.microsoft.com/windowsserver/en/library/EFA621BD-A031-4461-9E72-59197A7507B61033.mspx

LargeSystemCache TechNet الموضوع

مدونة راماب
خصائص

رقم الموضوع: 976618 - آخر مراجعة: 13‏/01‏/2017 - المراجعة: 1

تعليقات