سؤال ويندوز 10 ، عملية "النظام" مع كميات هائلة من ذاكرة الوصول العشوائي


منذ أن قمت بالترقية إلى Windows 10 ، كان نظامي يستهلك ذاكرة الوصول العشوائي بشكل مفرط

enter image description here

لقد كنت أقرأ قليلا وقررت أنه من المحتمل أن يسحب السائق الذاكرة. لذا حصلت على برنامج Windows Driver Kit وتتبع استخدام الذاكرة مع poolmon:

enter image description here

ومع ذلك ، أنا لا أعرف حقا كيفية المضي قدما من هنا. هل تم وضع علامة على البند "smNp" في هذه القضية؟ كيف أذهب من هناك لتحديد السائق في الواقع؟

حاولت بعض الاشياء مثل "C: \ Windows \ System32 \ drivers> findstr / s smnp ."ولكنها لم تعرض أي نتائج. كما ألقيت نظرة على ملف pooltag.txt وهذا هو الوصف الذي وجدته له:

enter image description here 

لذلك نعم ، أي مساعدة سيكون موضع تقدير. شكرا لك مقدما.


79
2017-08-07 04:17


الأصل


حسنًا ، لقد أضفت المعلومات التي تمكنت من العثور عليها. تفحصهم - magicandre1981
هذه هي ميزة النظام في الاحتفاظ بالفعل المزيد من الأشياء في RAM باستخدام الضغط بدلاً من الاستدعاء إلى القرص. @ magicandre1981 لديه المعلومات الصحيحة هنا والتي ينبغي قبولها كإجابة صحيحة. - Mani Gandham
إن الـ 14 ميغابايت التي تعرضها برامج poolmon مرتبطة بعلامة smNp هي كمية بسيطة للغاية. أنت قلق بشأن 1.3 غيغابايت في مجموعة العمل الخاصة بمعالج النظام - لماذا التركيز على 14 ميغابايت من تجمع غير مقسم إلى صفحات (وهو ليس في مجموعة العمل الخاصة بأي عملية ، على الإطلاق)؟ - Jamie Hanrahan


الأجوبة:


بالذهاب الى services.msc (عن طريق فوز + R) وتعطيل Superfetch يحل تماما هذا. لست متأكداً من أن Superfetch قد تم كسره حتى الآن أو أنه "حسب التصميم".

بالإضافة إلى ذلك ، على ما يبدو التخلص من ملف ترحيل الصفحات سيكون له نفس التأثير ولكن الحل أعلاه هو أكثر أمانا رهان.


15
2017-08-09 23:24



هذا عمل فعلا. يعود استخدام الذاكرة للنظام إلى 0.1 ميغابايت حتى بعد ساعات الاستخدام. شكر! - Nayncore
في حين أن استخدام الذاكرة المرتفع عادة يكون علامة حمراء لتسرب الذاكرة ، يتم استخدام هذه الذاكرة بشكل قانوني كميزة من Windows 10 (انظر إجابة magicandre أدناه). - Bigbio2002
انها ليست علة ويجب ألا يتم تعطيلها - phuclv
lifehacker.com/... - phuclv
إذا تسببت الميزة بتحذيرات ثابتة منخفضة للذاكرة ، فهي ليست ميزة جيدة. الآن جهاز Surface Pro المزود بذاكرة RAM بسعة 4 غيغابايت غير قابل للاستخدام تمامًا من أجل التطوير ، وحتى على الكمبيوتر المحمول المزود بذاكرة عشوائية 8 جيجابايت أحصل دائمًا على هذه التحذيرات. الإبهام عن الحل! - Oleg I.


لقد نظرت في آثار xperf من عدة مستخدمين وهنا وظيفة ntoskrnl.exe!SmKmStoreHelperWorker يبدأ من Kernel تخصيص الذاكرة.

Screenshot
(اضغط على الصورة لتكبيرها)

اكتشفت هذا سسنترنلس.

لقد سألت Microsoft حول هذا الموضوع والجواب هو أن هذا هو حسب التصميم. وهي مرتبطة بضغط ذاكرة النظام.

في الإعلان عن ويندوز 10 بناء 10525 ، أوضح مايكروسوفت قليلا:

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

لذا بدلاً من كتابة بيانات الذاكرة إلى ملف ترحيل الصفحات ، يقوم بضغطها. ويتم عرض هذه الذاكرة المضغوطة في عملية النظام.

كما نشرت مايكروسوفت المزيد من التفاصيل في المحور الداخلي. أنشأ Winbeta مقال والذي يتضمن المزيد من التفاصيل.

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

enter image description here

وفقًا لفريق Windows ، "في الممارسة العملية ، تأخذ الذاكرة المضغوطة   يصل إلى حوالي 40 ٪ من حجم غير مضغوط ، ونتيجة للنموذجية   الجهاز الذي يقوم بتشغيل حجم عمل نموذجي ، يقوم Windows 10 بكتابة الصفحات إلى القرص   50 ٪ فقط بقدر ما الإصدارات السابقة من نظام التشغيل."إذا سارت الأمور كلها   وفقا للخطة ، يمكن أن يواجه مستخدمو Windows فترة انتظار مخفضة   مرات لجميع الأجهزة وكذلك إطالة أمد الحياة على الأنظمة التي   لديك محركات الأقراص الصلبة القائمة على فلاش.

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

أصدرت Microsoft أيضًا مقطع فيديو على channel9 الذي يشرح الميزة.

ضغط الذاكرة في ويندوز 10 RTM
https://channel9.msdn.com/Blogs/Seth-Juarez/Memory-Compression-in-Windows-10-RTM

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

في أحدث إصدار من برنامج TH2 Builds ، قامت Microsoft بتحديث الوصف في مدير المهام ، والآن تظهر أيضًا أن عملية SYSTEM تقوم باستضافة compressed memory:

enter image description here

لتجنب الارتباك حول الاستخدام "العالي".

في تحديث نافذة الذكرى العاشرة الذي تم إصداره في أغسطس 2016 ، قامت شركة Microsoft باستخراج الضغط إلى الآن كما هو موضح في عملية زائفة تسمى Memory Compression لم يعد الخلط بين المستخدمين لماذا يكون لدى SYSTEM استخدام ذاكرة كبيرة مثل:

enter image description here

ولكن يبدو أن Taskmgr لا تظهر هذه العملية ، فقط ProcessExplorer / ProcessHacker قادرون على إظهارها. يعرض Taskmgr فقط مقدار الذاكرة المضغوطة في النظرة العامة:

enter image description here

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

enter image description here

في هذا العرض التوضيحي 388 ميجابايت يتم ضغطها إلى 122 ميجابايت بحيث يتم حفظ 267 ميجابايت مع الضغط.


91
2017-08-07 04:20



Zaibis: أعتقد أن الفكرة هي أنك لا "إسقاط 1GB". تم حجز 1 غيغابايت من قبل Windows وسيتم استخدامها للتخصيصات. ليس لديك ضائع الذاكرة. - Lightness Races in Orbit
"الذاكرة غير المستخدمة تضيع الذاكرة" لطالما كانت شعار OS X. يبدو أن Windows قد حصل على اللوحة أيضًا. - deceze
@ magicandre1981 ماذا تقصد بSystem Memory compression - user2284570
لا أستطيع الإجابة على هذا بالتفصيل. حصلت فقط على المعلومات التي هي عن طريق التصميم ، ولديها علاقة مع ضغط الذاكرة وهذا سيتم شرحه من قبل blogpost. عندما أحصل على معلومات جديدة ، سأقوم بتحديث مشاركتي. - magicandre1981
JosiahKeller مربع حوار "الذاكرة المنخفضة" حول انخفاض الذاكرة الظاهرية. لا علاقة لها تقريبا مع استخدام ، أو توفر ، الذاكرة الفعلية (RAM). يتم حسابها بشكل منفصل عن طريق جميع أنظمة سطح المكتب الحديثة. - David Schwartz


تعطيل prefetcher في مفتاح regedit: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters ربما لديك Enable Prefetcher في قيمة 2 أو 3 لذا قم بتغييرها إلى 0

التالي تحتاج إلى تعطيل Superfetch في الخدمات

  1. البحث عن services.msc

  2. تجد superfetch انقر properties ثم ضبطها على disabled ووقف الخدمة كذلك.

أفعل هذه الخطوات وعندما أكون الألعاب وعادة ما تستخدم أجهزة الكمبيوتر الشخصية و system يستخدم عملية 28K فقط


-1
2017-08-20 11:08



هذه فكرة مروعة. تستخدم الجلب المسبق / superfetch لسبب ما. إذا كنت تعتقد أنك تستطيع إدارة الذاكرة بشكل أفضل من نظام التشغيل الخاص بك ، فأنت مخطئ للأسف. - b1nary.atr0phy
إن تعطيل الجلب المسبق (أو "تنظيف مجلد الجلب المسبق") هو في الواقع فكرة سخيفة للغاية. لا يؤدي الجلب المسبق النظام إلى استخدام المزيد من ذاكرة الوصول العشوائي. يسرع التحميل من إكس و dll بمجرد البدء بهاو عندها فقط. إعادة SuperFetch ، تقوم Microsoft بتعطيل SuperFetch بشكل افتراضي على الأنظمة ذات SSD لمحرك أقراص Windows ؛ يشعرون أن الفائدة لا تستحق العناء. أنا شخصياً أقوم بتمكينه لأن لدي محركات أقراص أخرى ، محركات أقراص SSD ، التي أريد أن يعمل SF عليها. - Jamie Hanrahan