У чому причина високого використання процесора "системної та стислої пам'яті" в Windows 10?


39

На моєму ноутбуці, який працює з 24G пам’яттю та використовуваною 2.5G, слід зробити спостереження для Windows 10. Немає "тиску пам'яті". Інші питання стосуються споживання пам’яті (що тут не проблема). У всіх пов'язаних питаннях тут і в інших місцях я не зміг знайти адекватне пояснення проблеми цього використання надмірного процесора за останній місяць-два після одного з оновлень Windows 10.

Я можу визнати, що в цій службі чи процесі є цінність, але постійно працювати і використовувати додаткові ресурси процесора, і, як наслідок, використовувати енергію акумулятора менш ефективно, це питання, яке я намагаюся вирішити.

У якійсь статті на цьому сайті було запропоновано вимкнути SuperFetch і встановити запис у реєстрі для PrefetchParameters на 0. Я зробив і те, і здійснив перезавантаження.

Перезавантажую машину, вимикаю заставки і запускаю диспетчер завдань. Через кілька хвилин сервіс, позначений як "Система та стисла пам'ять", починає послідовно займати 5% мого процесора. Моя базова завантаженість процесора становить, можливо, 1%, що забезпечує низький рівень вентилятора. Але коли послуга «системна та стисла пам’ять» працює на 5%, вентилятори наростають. І просто продовжує бігати.

Дурість. Чому цю послугу потрібно працювати так послідовно без тиску пам'яті? Якісь додаткові механізми я можу спробувати відключити або визначити, що він насправді робить? Чи є десь записи файлів журналів? Або поглиблений діагностичний інструмент?

як-відключити-windows-10-стиснення пам'яті - тут немає реальних відповідей

windows-10-система-процес-прийняття-величезна кількість-таран

17993-windows-10-пам'ять-стиснення

desktop-build-10525-and-windows-10-memory

www.techish.net/system-and-compression-memory/

windows-10-build-1511-перегрів-cpu-fan-завжди

Windows Performance Recorder - тепер потрібне посилання для інформації про те, як його інтерпретувати

обслуговування скрабу


1
Так, я ніколи не розумів, чому Windows використовує файл сторінки, коли є багато пам’яті, відключення файлу сторінки може вирішити вашу проблему, я б хотів знати.
Моав


@Moab: уявлення про те, що Windows "використовує файл сторінки, коли є достатньо пам'яті", випливає з помилкової мітки в диспетчері завдань Windows XP - вони позначали графіки "використання PF", коли це повинно було бути "фіксація заряду". Якщо ви користуєтеся PerfMon для вивчення фактичного використання файлу сторінки, ви, як правило, вважаєте його набагато меншим, ніж очікувалося.
Джеймі Ханрахан

2
фіксувати слід використання процесора. Встановіть WPT з Win10 SDK: dev.windows.com/en-us/downloads/windows-10-sdk, запустіть WPRUI.exe, виберіть процесор, диск, VirtualAlloc, ResidentSet та захопіть 1-2 хвилини використання системи та збережіть її це у файл ETL. Застебніть папку ETL + папку NGENPDB у файл 7z / RAR, завантажте стиснутий файл в OneDrive, створіть посилання для спільного доступу та опублікуйте посилання тут
magicandre1981

@ magicandre1981: дякую, що запропонували можливу методологію. Файл можна знайти на веб- сайті oneunified.net/files/rpb.20160102.WPR.7z . Якщо ви щось бачите, чи зможете ви опублікувати свою методологію? Я впевнений, що багато інших постів навколо можуть використовувати цю техніку. ... знову подяка.
Реймонд Беркхолдер

Відповіді:


26

Аналіз файлу ETL за допомогою WPA показує, що використання процесора не відбувається при стисненні системної пам'яті. Він походить від ntoskrnl.exe!MiScrubMemoryWorker:

Line #, DPC/ISR, Process, Stack Tag, Stack, Count, TimeStamp (s), % Weight
8, , , ,    |    |    |- ntoskrnl.exe!MiScrubMemoryWorker, 79667, , 12,45
9, , , ,    |    |    |    ntoskrnl.exe!MiScrubNode, 79667, , 12,45
10, , , ,   |    |    |    ntoskrnl.exe!MiScrubNodeLargePages, 79667, , 12,45
11, , , ,   |    |    |    ntoskrnl.exe!MiScrubNodeLargePageList, 79667, , 12,45
12, , , ,   |    |    |    |- ntoskrnl.exe!MiScrubPage, 79663, , 12,45
13, , , ,   |    |    |    |    |- ntoskrnl.exe!RtlScrubMemory, 79653, , 12,45
14, , , ,   |    |    |    |    |    |- ntoskrnl.exe!RtlpGenericRandomPatternWorker, 38549, , 6,02

Це функція перевірки пам'яті на наявність помилок шляхом заповнення / читання деяких шаблонів ( ntoskrnl.exe!RtlpGenericRandomPatternWorker).

Це задумано і трапляється тоді, коли починається завдання з технічного обслуговування, коли пристрій працює в режимі очікування.


Дякую тобі за це. Це проливає деяке світло на діяльність. Тепер, коли ви згадуєте слово idle, можна зробити два коментарі. 1) Файл ETI, який ви оцінювали, був створений, коли я працював на консолі, а процесор склав приблизно від 10% до 15% для "системної та стислої пам'яті", і нарешті закінчився. Так я зміг захопити якусь діяльність. І ви оцінили його для забезпечення простою. 2) у наступному коментарі ....
Реймонд Беркхолдер

10
Для закриття на програмі Win 10 я перейшов до: Пуск-> Панель управління-> Адміністративні інструменти-> Бібліотека планувальників завдань -> Microsoft-> ​​Windows-> MemoryDiagnostic Є два рядки. Виконання завдання може залежати від подій журналу. Я не впевнений, чи вони просто повинні існувати, чи вони спрацьовують при вході в журнал. Я відключив RunFullMemoryDiagnosticEntry. Я більше не бачу використання від 5 до 12% після декількох хвилин затримки. У властивостях Завдання, на вкладці налаштувань, можливо, можливо відрегулювати речі, які не запускаються дуже часто. .... тестування в інший час.
Реймонд Беркхолдер

2
приємно почути, що це вирішує ваше питання.
magicandre1981

1
Щоб додати коментар, у мене було визначено 2 завдання - RunFullMemoryDiagnostic та ProcessMemoryDiagnosticEvents, найважливіше - друге. У ньому було включено 4 тригери - "Журнал: Система, Джерело: Спливаюче вікно програми", "Журнал: Приклад, Джерело: Помилка програми" та два інші. Вимкнення двох тригерів вирішило мою проблему. Проблема полягала в тому, що деякі програми, які я розробляю, записують у помилки журналу подій, і це викликає перевірку пам'яті. Два залишилися тригери повністю пов’язані із системою, тому краще не відключати їх
zihotki

3
ок, троль прихильнив його. Так, xperf / WPR / WPA - це досвід експертів рівня 500, тому не для вас неосвічений ідіотський тролль facepalm
magicandre1981

9

По-перше, пере. Використання процесора: Процес "Система та стисла пам'ять" (це не послуга) виконує багато функцій. Тільки те, що ви бачите це за допомогою процесорного часу, не означає, що він працює над стисканням вмісту пам'яті. Щоб дізнатися це, скористайтеся Провідником процесів, щоб знайти ім'я (-и) потокової функції (-ів) у процесі, який (є), використовуючи час процесора. Для цього знадобиться налаштувати символи в Провіднику процесів, як це описано в цій відповіді .

Пам'ять, яка стискається - це пам'ять, яка була

  • частина приватного робочого набору процесу (тобто спільного з будь-яким іншим процесом); і
  • модифіковані, поки він був у цьому процесі; і
  • згодом втрачається від процесу внаслідок заміни сторінки та міститься у списку Змінених сторінок. (Цей алгоритм істотно не змінено для Windows 10. Ви більше не заміняєте сторінку, ніж раніше.)

Тепер ... якщо у вас немає файлу сторінки, він просто залишиться у списку модифікованих сторінок (поки процес не закінчиться). (Зверніть увагу: вимкнення файлу сторінки не змінить описану раніше поведінку.)

Якщо у вас є файл сторінки (що, звичайно, дуже рекомендується), поведінка відрізняється між Windows 10 та попередніми версіями.

  • До Windows 10 це було б скоро записане у файл сторінки, а фізичні сторінки будуть перенесені до списку сторінок очікування. Це робиться потоком "модифікованого запису сторінки" в системному процесі.

  • У Windows 10 він спочатку стискається (займає близько половини місця, ніж раніше) і зберігається в адресному просторі користувальницького режиму системного процесу (зараз він називається "Система та стисла пам'ять"). Якщо потрібно звільнити пам'ять, її можна записати у файл сторінки та випустити для іншого використання. (Зверніть увагу, що переваги стиснення простору поширюються і на простір файлів сторінок, і на час вводу / виводу.)

Тож справді це добре. Однак багато додаткової пам’яті, яку ви бачите, використовуваної системним процесом, ну і перед Windows 10, приблизно вдвічі більше, ніж було б у списку модифікованих сторінок або в режимі очікування. Звичайно, це не займе більше місця, ніж раніше.

Ви можете (за моїми останніми тестами) відключити цей механізм, позбувшись свого файлу сторінки, але це не вплине на поведінку заміни сторінки; змінені приватні сторінки, витіснені з процесів, будуть просто непридатні до звільнення для іншого використання, і замість того, щоб перебувати в системному процесі, пам'ять (приблизно вдвічі більше її) буде просто сидіти на MPL.


У процесі провідника, без завантажених символів налагодження, я отримую щось: ntoskrnl.exe! CcCopyWriteWontFlush + 0xb50 Чи вийде більш детально з нього, якщо я додаю символи? Є 12 примірників, причому один вимагає 12,5% процесора. Він належить до системного процесу.
Реймонд Беркхолдер

@RaymondBurkholder Ви можете отримати більше інформації, переглянувши стек тем.
Даніель Б

@DanielB: так, це було на вкладці "Нитки" у спливаючому вікні від перегляду властивостей системного процесу на PID 4 у "Провідник процесів". Уточнення: кнопка стека нічого не показує, але кнопка Модуль вказує, що вона є з файлу ntkmlmp.exe від 2015-11-22. Я думаю, що є приблизною датою цього додаткового процесора.
Реймонд Беркхолдер

Це якраз дата, коли оновлення Windows в останній раз вплинуло на цей файл. Зрештою, це системний компонент.
Даніель Б

@RaymondBurkholder Дисплей "StartAddress" без налаштованих символів просто не корисний. Коли ви бачите ім'я символу (наприклад, "CcCopyWriteWontFlush") плюс зміщення ("+ 0xb50"), назва символу майже напевно неправильне. Що ви хочете, наприклад, ntoskrnl.exe! ExpWorkerThread, без зміщення не відображається. О ... ви побачите компенсації модулів, для яких MS не постачає символи - майже завжди це сторонні драйвери. Вони відображаються як moduleName + offset, як nvhda64v.sys + 0x30ac. Ми не можемо отримати символи для них, але одне лише ім'я модуля часто допомагає у випадках налагодження.
Джеймі Ханрахан

3

Це може бути програмне забезпечення "Killer Network Manager". Якщо ви видалите його, проблема вимикається, але це стосується і мережі, оскільки вона також видаляє драйвери мережевого адаптера. Добре нове, є виправлення.

Спочатку перейдіть на сторінку http://www.killernetworking.com/support/driver-downloads/item/killer-suite та завантажте нову версію, але її поки не встановлюйте. Просто збережіть його та дізнайтеся, де знаходиться файл.

Потім видаліть поточну версію через панель управління. Вам доведеться перезавантажити комп’ютер. Після резервного копіювання комп'ютера запустіть інсталятор програмного забезпечення. Нова версія, яка була випущена в січні 2016 року, схоже, не має такої ж проблеми.

Я думаю, що в старій версії програмного забезпечення є витік пам'яті, що спричиняє цю проблему.

Програмне забезпечення "Менеджер вбивцьких мереж" - лише FYI, є частиною мережевих карт Qualcomms Aethos Killer Wireless-AC / Wireless-N та провідних мереж E2200 / E2400. Без програмного забезпечення у вас немає Інтернету.


Без драйвера у вас немає інтернету. Ви можете дістати водія без всякого безглуздого гафа та продукту, який виробник вважає, що вам потрібно. У нижній частині сторінки, яку ви пов’язали, ви знайдете посилання для завантаження лише для драйверів killernetworking.com/support/driver-downloads/standard-drivers
Мокубай

2

У мене була подібна проблема після недавнього оновлення до Windows 10. Моя миша раптом почала затримуватися, тобто смикатися, коли я переміщувала її по екрану, що ускладнило її використання.

Я перевірив використання процесора в диспетчері завдань і зазначив, що проблема виникла, коли процес "Система та стисла пам'ять" почав споживати 5-15% ЦП. Я запустив Process Explorer і перевірив теми, і, як Raymond, я помітив, що головним винуватцем був CcWriteCopyWontFlush зі зміщенням 0xb50. Трохи гуглінг привів мене до цієї сторінки. Я спробував встановити символи Windows, як деякі запропоновані тут, але це ніколи не допомогло мені вирішити зміщення.

Проблема також була спорадичною. Я працював би кілька годин, а потім він почав з’являтися на кілька хвилин, вмикати і вимикати, зводити мене з розуму. Перезавантаження вилікує це деякий час, а потім повернеться.

З цих відповідей я вирішив знайти драйвери мого ПК, тому я почав з диспетчера пристроїв і саме тут я отримав свою відповідь. Коли виникла проблема, вікно мого диспетчера пристроїв постійно буде порожнім і оновлюватися, як і кожну секунду чи дві. Це було по суті нечитабельним. Більше Googling запропонувало зовнішній USB-пристрій, який підключається та підключається. Я прив’язав його до телефону Samsung, який щодня заряджаю зі свого ПК через кабель, підключений до порту USB. Я також використовую ПК та MyPhoneExplorer для синхронізації телефону з Outlook, тому у мене є кілька дисків, відображених на внутрішній та зовнішній оперативній пам'яті телефону, використовуючи драйвери Samsung для ПК. Я міг бачити, як ці диски з’являються і зникають часто в Диспетчері пристроїв.

Мій телефон є Galaxy S2, йому близько 4 років, і у мене проблеми з підключенням на порту microUSB вже більше року. Це може спричинити спорадичний характер проблеми, або це можуть бути хитрі драйвери ПК Samsung для мого телефону. Якби це був лише кабель, я не знаю, чому перезавантаження вилікує проблему на деякий час, тому це все ще є таємницею, але принаймні я знаю джерело і можу це виправити.

Відключення мого телефону - це найпростіший спосіб вирішити проблему, і я все одно збираюся його викинути, оскільки він такий старий. Тож мені цікаво, чи у Реймонда також був драйвер пристроїв Samsung із подібним програмним забезпеченням, що працює на його ПК. Реймонд, якщо ти все ще заїжджаєш, дай мені знати.

Як я вже згадував, кабель довгий час був шаленим, оскільки задовго до оновлення з Windows 7 до Windows 10 програмне забезпечення Samsung завжди було жахливим, але в Windows 7 в'ялість не вплинула на мою іншу роботу ПК. У Windows 10 вона зробила мишу настільки хиткою, що стала близькою до непридатності. Мені було надзвичайно важко намагатися приземлитися в ціль, і я думаю, що клавіатура теж зазнала впливу, коли пропускали натискання клавіш. Дивно, як ці фактори взаємопов'язані, і я не знаю, що запропонувати Microsoft щодо вдосконалення Windows 10, але зараз я вважаю, що Windows 10 трохи "делікатний". Використовуйте обережно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.