سؤال ويندوز باستخدام الكثير من ذاكرة الوصول العشوائي ، وكيفية تشخيص خنزير الموارد


لدي 16GB من ذاكرة الوصول العشوائي النظام. عند بدء التشغيل مع عدم وجود تطبيقات مفتوحة باستثناء مدير المهام ، يستخدم Windows حوالي 3 غيغابايت من ذاكرة الوصول العشوائي. نظرت في علامة التبويب العمليات ، ولكن لا شيء يبدو خارج عن المألوف. كيف يمكنني معرفة لماذا يستخدم Windows بلدي الكثير من ذاكرة الوصول العشوائي.

enter image description here

جميع العمليات من جميع المستخدمين

enter image description here


القراءة من poolmon يبدو أن برنامجي اللاسلكي broadcom يستخدم حوالي 0.4 جيجابايت من ذاكرة الوصول العشوائي. حتى لو قمت بإزالته فسيظل استخدام 2.6 غيغابايت عند بدء التشغيل ، والذي لا يزال أكثر من اللازم.

enter image description here


بعد إعادة تثبيت برنامج التشغيل اللاسلكي المرتبط بتسرب الذاكرة. لدي لقطة شاشة جديدة وأود أن أؤكد أنها كانت بالفعل تسربًا للذاكرة.

enter image description here


66
2017-11-12 01:10


الأصل


بادئ ذي بدء ، لديك فقط 12GB. إما أن أحد أصابعك الأربعة ذات 4 جيجابايت سيئ أو ضعيف الجلوس ، أو أن اللوحة الأم لا تدعم 16 جيجابايت. ثانيًا ، هل حاولت تشغيل أي برامج أمان للتحقق من وجود برامج ضارة؟ أساسيات الأمان مدمجة ، لذا تأكد من تحديث التعريفات الخاصة بها وتشغيل الفحص. جرب أيضا بعض البرامج المضادة للجذور الخفية منذ أن تختبئ الجذور الخفية على وجه التحديد (على الرغم من أنها عادة ما تحاول إبقاء الملف الشخصي منخفضا دون أن يلاحظه أحد ، ولا يكاد يخلط فيه استخدام بضعة غيغابايت من ذاكرة الوصول العشوائي). - Synetech
قد ترغب في النظر في الأداء -> مراقبة الموارد - Journeyman Geek♦
جرِّب تشغيل أمر tasklist الذي يعيد توجيه مخرجاته إلى ملف ، C: \ blah> tasklist> a.a ، ثم افتح الملف a.a ، وستشاهد الإجماليات لكل عملية ، مثل. 15100K ، أزل K بعدها ، وجمع الإجمالي مع Excel. تحقق مما إذا كان الإجمالي يطابق الرقم المستخدم الذي يعطيك مدير المهام بالقرب من الرسم البياني الخاص به للاستخدام. بالنسبة لي ، الإجمالي من tasklist هو 4 غيغابايت ومدير المهام يقول 4.5 غيغابايت. لا أستطيع شرح التناقض الذي أواجهه لكنه ليس ضخمًا. سيكون من المثير للاهتمام إذا كان لديك تناقض كبير. - barlop
ليس لدي التفوق - Vader
علامات NDxx هي ndis.sys. أعتقد أن BRCM كان Broadcom. قد يشير ذلك إلى أن محول الشبكة هو المشكلة. - David Marshall


الأجوبة:


لديك تسرب للذاكرة بسبب برنامج التشغيل. انظر إلى قيمة عالية من ذاكرة kernel nonpaged. في حالتك هذا هو أكثر من 3.7 غيغابايت. يمكنك استخدام أداة Poolmon لمعرفة السائق الذي يسبب الاستخدام العالي.

تحميل هذا ويندوز WDKقم بتشغيل poolmon وفرزها عبر P بعد نوع التجمع بحيث يكون غير مقسم إلى صفحات على أعلى وعبر ب بعد البايت لرؤية العلامة التي تستخدم معظم الذاكرة. تشغيل poolmon بالانتقال إلى المجلد حيث تم تثبيت WDK ، انتقل إلى أدوات (أو C: \ Program Files (x86) \ Windows Kits \ 10 \ Tools \ x64) ثم انقر فوق poolmon.exe.

انظر الآن pooltag التي تستخدم معظم الذاكرة كما هو موضح هنا:

enter image description here

الآن افتح موجه كمد وقم بتشغيل الأمر findstr. للقيام بذلك ، قم بفتح الأمر cmd واكتب "cd C: \ Windows \ System32 \ drivers" ، بدون علامات اقتباس. ثم اكتب "findstr / s __ ."، حيث __ هي العلامة (أقصى اليسار في poolmon). افعل هذا لمعرفة برنامج التشغيل الذي يستخدم هذه العلامة:

enter image description here

الآن ، انتقل إلى مجلد برامج التشغيل (C: \ Windows \ System32 \ drivers) وانقر بزر الماوس الأيمن فوق برنامج التشغيل المطلوب (intmsd.sys في المثال أعلاه الصورة). انقر فوق خصائص ، انتقل إلى علامة التبويب التفاصيل للعثور على اسم المنتج. ابحث عن تحديث لهذا المنتج.

إذا كانت pooltag تظهر فقط برامج تشغيل Windows أو مسردة في pooltag.txt ("C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\triage\pooltag.txt")

لديك استخدام xperf لتتبع أسباب الاستخدام. تحميل هذا WPT من Windows SDK، افتح cmd.exe كمسؤول وقم بتشغيل هذا:

xperf -on PROC_THREAD + LOADER + POOL -stackwalk   PoolAlloc + PoolFree + PoolAllocSession + PoolFreeSession -BufferSize 2048   -MaxFile 1024 -FileMode Circular && timeout -1 && xperf -d C: \ pool.etl

التقاط 30 -60s من النمو. افتح ETL مع WPA.exe ، أضف الرسوم البيانية للمسبح إلى جزء التحليل.

ضع عمود pooltag في المركز الأول وأضف عمود الكومة. الآن تحميل الرموز داخل WPA.exe وقم بتوسيع رصة العلامة التي شاهدتها في poolmon.

enter image description here

يمكنك الآن العثور على برامج تشغيل أخرى تابعة لجهات خارجية والتي يمكنك رؤيتها في بنية تخزين العناصر. هنا Thre يتم استخدام العلامة (مؤشر الترابط) بواسطة AVKCl.exe من G-Data. ابحث عن تحديثات برنامج / برنامج لإصلاحها.


77
2017-11-12 04:54



أه آسف. Jebediah Kerman هل قمت بتشغيل الأمر findstr؟ من الاسم يمكن أن يكون برنامج تشغيل بطاقة الشبكة ذات الصلة. إذا كنت لا تزال تواجه مشكلات ، فقم بتشغيل RAMMap ، ثم قم بتخزين البيانات على هيئة RMP ، ثم ضغط ملف RMP ثم قم بتحميل ملف zip. - magicandre1981
هذا قد يبدو غبيا. ولكن كيف أقوم بتشغيل poolmon. اعتدت أن أكون قادرة على البحث عن "poolmon.exe" وإطلاق - Vader
JebediahKerman أعتقد أنك فعلت هذا بالفعل ووجدت العلامات. هل الصورة من مشاركتك لا poolmon الخاص بك؟ - magicandre1981
الصورة لي. لسبب ما كان فهرس البحث غير مكتمل. - Vader
JebediahKerman هل نظرت إلى ما هذا NDFT هو؟ يمكنك أيضًا استخدام xperf لتتبع استخدام المسبح: channel9.msdn.com/Shows/Defrag-Tools/... - magicandre1981


حسنا ، أول شيء ، قبل أن أذهب إلى إجابة أكثر تفصيلا. في لقطة الشاشة الأولى ، يكون تجمع غير مقسم إلى صفحات (نوع من استخدام ذاكرة kernel) في 1.3 غيغابايت. يبدو ذلك عالياً بشكل غير عادي بالنسبة لي ، خاصةً بعد 30 دقيقة فقط من التمهيد. أعتقد أني أستطيع أن أرى NP Pool يحصل على هذا الارتفاع بعد فترة طويلة من الاستخدام أو مع برنامج كان يتسرب مثل المنخل. على النقيض من ذلك ، عادة ما يكون حجم NP Pool الخاص بي بين 100 و 200 ميغابايت ، وقد يصل حجم تجمع البيانات المقسم إلى 400 أو 500 (وهذا بعد تشغيل النظام بدون إعادة تشغيل لمدة أسابيع).


يمكنك تمكين بعض الأعمدة الإضافية في "إدارة المهام" بالنقر بزر الماوس الأيمن فوق رؤوس الأعمدة واختيار الأعمدة المحددة. يجب أن تضيف Working Set (private)، Working Set (shared)، Commitو NP Pool. أتفحص جميع عملياتك من جميع المستخدمين ، ونرى ما إذا كان أي منها يمتلك بركة NP أكثر من 256 كيلوبايت تقريبًا. إذا رأيت أيًا منها ، خاصةً أيهما أعلى من ذلك بكثير ، فقد يكون هذا هو مصدر المشكلة أو جزء منها على الأقل.

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

تجمّع غير المقسمة إلى صفحات هي الذاكرة التي لا يمكن أبداً أن يتم swapped خارج الذاكرة الفعلية ... التي هي فعلياً لديك استخدام الذاكرة الفعلية الدنيا الدائمة. غالبًا ما تحتوي ذاكرة NP Pool على رمز البرنامج والأقسام الهامة التي يجب أن تكون في الذاكرة الفعلية للتصرف بشكل صحيح أو آمن ، أو أكوام خاصة ، إلخ. من 60 عملية ، إذا كان كل منها يحتوي على 256 كيلوبايت من ذاكرة NP Pool ، فيجب استخدام الحد الأدنى للذاكرة الفعلية سيكون حوالي 15.360 كيلو بايت. في معظم الحالات ، قد يكون هناك تطبيق واحد أو تطبيقين يحتوي على مسبح NP سعة 256 كيلوبايت ، في حين يكون معظم التطبيقات أقل من ذلك ، وعادة ما يكون أقل بكثير (أو لا شيء). من المستبعد جداً أن يقوم النظام بتسجيل أي مجموعة كاملة من العمليات على الإطلاق ، لذا لا تتوقع من أي وقت مضى استخدام الذاكرة للحصول على هذا المستوى المنخفض.


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

يقوم Windows بإدارة الذاكرة نيابة عنك ويقوم تلقائيًا بتخزين البيانات داخل وخارج الذاكرة من وإلى ملف (swap) الخاص بك. إذا قمت بتشغيل عملية تحتاج إلى 9 جيجابايت من الذاكرة وكان نظامك يستخدم بالفعل 4 غيغابايت (من 12 جيجابايت) ، فسيعمل النظام تلقائيًا على معرفة العمليات التي لا تحتاج إلى وصول فوري إلى مجموعة العمل الخاصة به بالكامل ، وسيقوم بوضع بعض أو كل من تجمع مقسم إلى مجموعات للتبديل من أجل تحرير 1 جيجابايت إضافية. إذا احتاجت العملية الكبيرة الخاصة بك في النهاية إلى ذاكرة أكبر ، فستعمل النوافذ على تقليل مجموعة العمل الخاصة بعمليات أخرى إلى أن يكون لديها مساحة حرة كافية لتخصيص الكتلة المطلوبة حديثًا. يمكن أن تستهلك العملية الكبيرة في نهاية المطاف كل الذاكرة المتوفرة باستثناء NP Pool وربما بعض الحد الأدنى من الحمل الإضافي لتنفيذ العمليات بشكل دوري والتي لا تسمح لـ Windows بتحرير المزيد من مجموعة العمل الخاصة بهم (على سبيل المثال ، لديهم أخطاء صفحة معلقة سيقوم نظام Windows بمبادلتها بخلاف ذلك الذاكرة الفعلية ، ولكن نظرًا لأنه يتم طلبها ، فلا يمكن نقلها.)

إذا احتاجت العملية إلى ذاكرة أكثر مما يُسمح لها بالوصول (يمكن أن تصل عمليات 32bit إلى 2 غيغابايت عادة ، وبعضها أقل قليلاً من 4 جيجابايت باستخدام تقنيات محسنة ، في حين أن العمليات 64 بت يمكن عادة الوصول إلى حوالي 48 جيجابايت من الذاكرة ، كل منها) ، ثم تحاول النوافذ أحيانًا لإضفاء الطابع الافتراضي على ذاكرتها من خلال مساحة التبادل. إذا كان تطبيق 32 بت يرغب في استخدام الحد الأقصى المسموح به من 2 غيغابايت من المساحة ، ولكن يتوفر فقط 1.2 جيجابت ، ستقوم النوافذ بحجز 2 جيجا بايت بالكامل في ملف الصفحة ، ونقل بيانات العمليات الخاصة داخل وخارج ملف الصفحة حسب الحاجة من أجل دعم استخدام الذاكرة في التطبيق. قد يبدو إجمالي استخدام "الذاكرة" في هذه الحالة أكبر من الذاكرة الفعلية المتاحة ، عند الانتقال إلى إجمالي الالتزام. عادةً ما يكون إجمالي "إجمالي الالتزام" بحد أقصى إجمالي حجم ملف صفحة ، والذي عند إدارة النظام ، عادة ما يكون حجم الذاكرة الفعلية 2-3 مرات. في حالتك ، سيكون إجمالي الالتزام حوالي 24 جيجا بايت ، أو 2x الذاكرة الفعلية 12 جيجا بايت (وهذا موضح في لقطة الشاشة الأولى ، حيث ينص على: الالتزام (GB) 3/23).


نقطة واحدة أخيرة. قلت في إجابتك أنه لديك 16 جيجابايت من ذاكرة الوصول العشوائي ، حيث يرى مدير المهام فقط 12 جيجا بايت من ذاكرة الوصول العشوائي. واحد من شيئين هنا. إما أن نظامك لا يحتوي إلا على 12 جيجابايت من ذاكرة الوصول العشوائي ، أو أن أحد العصي لا يسجل بشكل صحيح. إذا كان لديك عصا من الكبش (أفترض 4 × 4 جيجا بايت من العصي) ، فقد تكون سيئة ، قد لا تكون جالسة بشكل صحيح تماما في اللوحة الأم ، أو قد يكون لديك اللوحة الأم قضية اكتشاف الذاكرة.

لمعرفة ما إذا كان هذا الأخير ، يجب عليك أولاً تحديث BIOS اللوحة الأم إلى الإصدار الأحدث. واجهت مشكلة مماثلة ... كانت عصيري DDR3 ذات الثلاث قنابل من نوع Tripple-Channel DDR3 (6x 2Gb) جيدة بناءً على الاختبار الفردي لكل منها ... لكن لوحتي الأم قررت بشكل عشوائي عدم حساب واحد أو اثنين منها في كثير من الأحيان ، غالبًا ما تركتني مع 8 غيغابايت فقط من الكبش. تحديث BIOS حل المشكلة ، ولدي وصول موثوق إلى كل 12GB من ذاكرتي الآن.


14
2017-11-12 05:41



مثيرة للاهتمام .. وأنا فقط لاحظت أن إعادة ذاكرة غير مقسم إلى صفحات كونها كبيرة جدا ..جمجم 539MB مقسم إلى صفحات ، 139MB غير مقسم إلى صفحات.UU تعرف بوضوح أكثر مني حول هذا .. ولكن ، كنت مخطئا في مجموع الالتزام. كتابة "إجمالي التزام عادةً ما يكون الحد الأقصى لحجم ملف صفحة الإجمالي الكلي" My RAM هو 12GB.I تعيين ملف ترحيل الصفحات الخاص بي إلى 4000 ميغا بايت (3.8 غيغابايت؟) دقيقة وذاكرة 1.5-2x كحد أقصى. Max max الالتزام 15GB (الالتزام = 7 / 15 حاليًا) ، ملف ترحيل الصفحات الخاص بي هو حول 4 غيغابايت أو ربما أقل قليلاً مثل 3.8 غيغا بايت. ماكس Commit يشبه إلى حد كبير حجم ملف ترحيل الصفحات + حجم ذاكرة الوصول العشوائي.عندما كان ملف ترحيل الصفحات الخاص بي هو 12GB وكان بلدي ماكس التزام حوالي 24GB. ملف ترحيل الصفحات الذي يبلغ 3.8 غيغابايت تقريبًا أو ما يصل إلى 4 غيغابايت كحد أقصى هو 15 غيغابايت - barlop
barlop: حسنا ، أنت تسيء إلى حد ما ما ارتكب. من الناحية الفنية ، فإن الالتزام بالمهمة هو إجمالي مساحة الذاكرة القابلة للعنونة فعليًا ، بما في ذلك المساحة المدعومة من قبل مديري الذاكرة الموسعة وتوعية العناوين الكبيرة. ماكس التزام لن يكون ملف صفحة + ذاكرة الوصول العشوائي ، بل يمكن وصفها بأنها مساحة العنوان الظاهرية الشاملة لإدارة النظام. يجب أن يغطي ملف الصفحة بشكل عام ، على أقل تقدير ، إجمالي حجم الذاكرة الفعلية ، بالإضافة إلى توسيعه إلى ما هو أبعد من إجمالي حجم الذاكرة الفعلية. في حالتك ، كنت أتوقع الالتزام ليكون 18 جيجا بايت على الأقل (1.5x) أو 24 جيجابايت (2x) ، ولكن ... - jrista
... قد يكون الحال بالنسبة لملف صفحة إدارة النظام. يبدو أنك عدّلت إعدادات ملف صفحةك يدويًا ، وفي هذه الحالة يجب أن أعرف المزيد عن التكوين الخاص بك لإخبارك عن سبب التزامك الحالي بـ 15 جيجا بايت (كما يشير ملف صفحة 3.8 / 4Gb إلى ارتكاب 16 جيجابايت ، وليس 15 جيجابايت .) من الممكن تمامًا تكوين ملف صفحة يدويًا أو ملف صفحة صغير جدًا ، ويمكن أن يؤدي ذلك إلى مشكلات في الأداء الفردية ومشكلات تخصيص الذاكرة. أفضل توصية ، ما لم يكن لديك إعداد خادم محدد للغاية (أي قاعدة بيانات) ، هو السماح للنوافذ بإدارة ملف صفحاتها. - jrista
ملاحظة أخيرة. للحصول على أفضل أداء ، من الأفضل أن تسمح النوافذ بتخصيص الحد الأقصى لحجم ملفات الصفحات في وقت مبكر. عادة ما يتم ذلك على إعدادات الخادم مثل قاعدة بيانات SQL Server ، حيث يمكنك تخصيص 64 غيغابايت أو أكثر (عادة ما يكون حجم ذاكرة الوصول العشوائي 2x ، لذا ربما 128 غيغابايت أو 256 غيغابايت) إلى ملف صفحة يتم توزيعه بالتساوي بين العديد من الأقراص الفعلية للحصول على أفضل أداء . ملفات الصفحات الموزعة ، خاصة عند تخصيصها إلى الحد الأقصى للحجم ، تسمح بقراءة / كتابة معشق على كافة الأقراص المشاركة ، مما يسمح بتحسين أداء الترحيل عبر الإدخال / الإخراج المتوازي. - jrista
كمثال على تحميل ذاكرة ثقيلة ، فإن النظام الخاص بي لديه حالياً: 7.5 / 12 جيجابايت من استخدام الذاكرة الفعلية ؛ 14.7 / 23.3Gb الالتزام ؛ 491mb تجمع مقسم إلى صفحات؛ 145mb np pool. هذا هو 146 العمليات ، كحد أقصى تجمع مقسم إلى صفحات 2276k max np pool 263k. أكبر التزام بحجم 696،396k ، وللعملية نفسها WS هو 714،256k (عملية تبويب أوبرا.) (عدد العمليات العالي الخاص بي يرجع إلى متصفح الويب ... يعزلون علامات التبويب عبر العملية هذه الأيام ، وأنا أعمل على hypertabber ... عشرات تفتح في وقت واحد ، لذلك العشرات من العمليات الإضافية.) - jrista


كيف يمكنني معرفة لماذا يستخدم Windows بلدي الكثير من ذاكرة الوصول العشوائي.

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

إذا كنت تفكر "أريد ذاكرة الوصول العشوائي الخاصة بي الآن حتى أتمكن من استخدامها في وقت لاحق" ، ونسيانها. ذاكرة الوصول العشوائي لا يجب أن تكون حرة الآن لاستخدامها لاحقًا. يمكنك استخدامه الآن و استخدامه في وقت لاحق. يوجد لا المبادلة هنا - ليس هناك أي جانب سلبي على الإطلاق لاستخدام RAM.

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


12
2017-11-12 01:35



إذا كان نظام windows7 الخاص بي يستخدم 3 جيجابايت من ذاكرة الوصول العشوائي عند بدء التشغيل ، مع عدم وجود تطبيقات مفتوحة ، يجب أن تكون هناك أخطاء - Vader
JebediahKerman لماذا تقول ذلك؟ أضع بعض الجهد في محاولة لشرح لماذا هذا ليس هو الحال ولماذا تم تصميم Windows للقيام بذلك. هل فهمت تفسيري؟ أو ، إذا كنت لا توافق على ذلك ، هل يمكن أن تشرح أين تعتقد أني مخطئ؟ - David Schwartz
DavidSchwartz إجابة خاطئة تماما. لديه تسرب الذاكرة من قبل السائق - magicandre1981
DavidSchwartz: يجب أن يكون السلوك الذي تصفه (عمليات تخصيص ذاكرة الوصول العشوائي التي يمكن إعادة استخدامها) بالضرورة من الذاكرة القابلة للتجميع. الرقم المقلق هو 1.3 غيغابايت من الذاكرة غير المقسمة إلى صفحات. لا يمكنك فقط تحرير ذلك لموارد أخرى ، أين يذهب هؤلاء 1.3 جيجابايت؟ يعني "nonpaged" أن المالك قال "هذه البايتات مهمة جدا ، لا يمكنك حتى وضعها على القرص ، ناهيك عن التخلص منها". - MSalters
لماذا هذه "الإجابة" صوتت عالية جدا؟ هذا تماما يخطئ الهدف. بغض النظر عن الكلمات المحددة المستخدمة (التي كانت واضحة تماما للبدء) ، فإن السؤال ليس كذلك “Why is Windows using RAM?”، السؤال هو “Why do the RAM usage numbers not add up; why is one part reporting a higher usage than another part?” يجب أن تكون هذه المشاركة تعليقًا في أفضل الأحوال لأنها لا تتناول السؤال الفعلي أو حتى محاولة للإجابة عليها. فقط ينسجم مع قليل من المشوره، و سيئة النصيحة في ذلك منذ إذا كان البروتوكول الاختياري قد تجاهلها كما هو مقترح ، لن يتم اكتشاف تسرب الذاكرة. - Synetech


السبب غير المذكور أعلاه هو Hyper-V.

كنت قادرا على تحديد ذلك مع فائدة ممتازة RamMap:

enter image description here

لقطة الشاشة من بعد. قبل ذاكرة "Driver Locked" تجاوز 6 غيغابايت ، أكثر من 80٪ من ذاكرة الوصول العشوائي في هذا الجهاز بالتحديد. اضطررت للذهاب إلى مدير Hyper-V وتعطيل "الذاكرة الديناميكية". ومن الغريب أنه حتى بعد إعادة تمكينها ، ظلت ذاكرة "Driver Locked" منخفضة - لا أستطيع إلا أن أفترض أن الحالات السابقة زادت من ذلك وأن Hyper-V لا تقلل تلقائيًا ذاكرته المخصصة:

enter image description here


0
2018-01-14 12:37