ما هو حجم المخزن المؤقت الافتراضي من CreateFile في ويندوز؟

StackOverflow https://stackoverflow.com/questions/875984

  •  22-08-2019
  •  | 
  •  

سؤال

وعندما يتم استدعاء CreateFile وظيفة دون FILE_FLAG_NO_BUFFERING العلم، ما هو حجم المخزن المؤقت الداخلي من نظام التشغيل؟

وإذا كان لي أن حجم المخزن المؤقت أكبر من المخزن المؤقت الداخلي من ويندوز، ويمكنني استخدام بالكامل مرت من القرص؟

هل كانت مفيدة؟

المحلول

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

نصائح أخرى

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

[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Control \Session Manager \Memory Management] LargeSystemCache

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

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

إذا كنت تستخدم أي التخزين المؤقت، وهناك في الحقيقة ليست عازلة للI / O آخر غير الذي قدمتموه لقراءة / كتابة. (هذا هو باستثناء الملفات المضغوطة، وهي كرة مختلفة من الشمع).

وهذا النظام يتم تجاهل مخبأ في هذه الحالة، وهذا هو السبب كنت المطلوبة (انظر <لأ href = "http://msdn.microsoft.com/en-us/library/cc644950(v=VS.85) .aspx اتصال "يختلط =" نوفولو noreferrer "> MSDN ) أن نكون حذرين مع محاذاة وحجم الخاصة بك I / O.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top