Какова причина высокой загрузки ЦП системы и сжатой памяти в Windows 10?

39

На моем ноутбуке, работающем с операционной системой Windows 10, должно быть сделано наблюдение с доступной памятью 24 ГБ и 2,5 ГБ. Нет «давления памяти». Другие вопросы касались потребления памяти (что не является проблемой здесь). Во всех связанных с этим вопросах здесь и в других местах я не смог найти адекватного объяснения проблемы этого чрезмерного использования ЦП в течение последнего месяца или двух после одного из обновлений Windows 10.

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

В какой-то статье на этом сайте было предложено отключить SuperFetch и установить для параметра реестра PrefetchParameters значение 0. Я выполнил оба действия и выполнил перезагрузку.

Я перезагружаю машину, выключаю заставку и запускаю диспетчер задач. Через несколько минут сервис, помеченный как «Система и сжатая память», начинает последовательно занимать 5% моего процессора. Моя базовая загрузка процессора составляет, возможно, 1%, что снижает вентилятор. Но когда служба «Система и сжатая память» работает на 5%, вентиляторы набирают обороты. И просто продолжает бежать.

Sillyness. Почему этот сервис должен работать одинаково без нагрузки на память? Какие-нибудь дополнительные механизмы, которые я могу попробовать отключить или определить, что они на самом деле делают? Где-нибудь есть записи в файлах журналов? Или углубленный диагностический инструмент?

Как отключить Windows-10-сжатие памяти - здесь нет реальных ответов

окна-10-система-процесс, принимая цельномассивное-количество-о-барана

17993-окон-10-памяти сжатия

настольный строить-10525-и-окна-10-память

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

окна-10-строительство-1511-перегрев-CPU-вентилятор всегда

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: спасибо, что предложили возможную методологию. Файл можно найти по адресу 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).

Это сделано специально и происходит, когда задача обслуживания простаивает, когда ваше устройство бездействует.

magicandre1981
источник
Спасибо тебе за это. Это проливает некоторый свет на деятельность. Теперь, когда вы упомянули слово «простоя», можно сделать два комментария. 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

Во-первых, ре. Использование ЦП. Процесс «Система и сжатая память» (это не служба) выполняет много функций. То, что вы видите это с использованием процессорного времени, не означает, что он выполняет работу по сжатию содержимого памяти. Чтобы выяснить это, используйте Process Explorer, чтобы найти имя (имена) потоковой функции (ий) в процессе, который (и) использует процессорное время. Для этого вам необходимо настроить символы в Process Explorer, как описано в этом ответе .

Сжатая память - это память, которая была

  • часть частного рабочего набора процесса (то есть совместно используемая с любым другим процессом); а также
  • изменено в то время как это было в этом процессе; а также
  • впоследствии потерян из-за замены страницы и внесен в список измененных страниц. (Этот алгоритм существенно не изменился для Windows 10. Вы не получите больше замены страниц, чем раньше.)

Теперь ... если у вас нет файла подкачки, он просто останется в измененном списке страниц (пока процесс не закончится). (Обратите внимание: отключение файла подкачки не изменит поведения, описанного выше.)

Если у вас есть файл подкачки (что, конечно, очень рекомендуется), поведение будет отличаться в Windows 10 и более ранних версиях.

  • До Windows 10 он вскоре был бы записан в файл подкачки, а физические страницы были бы перемещены в список резервных страниц. Это делается потоком «модифицированного писателя страниц» в системном процессе.

  • В Windows 10 он сначала сжимается (занимает примерно вдвое меньше места, чем раньше) и хранится в адресном пространстве пользовательского режима процесса System (теперь называется «Система и сжатая память»). Если необходимо освободить память, она может быть записана в файл подкачки и выпущена для другого использования. (Обратите внимание, что преимущества сжатия пространства применяются также к пространству файла подкачки и времени ввода-вывода.)

Так что, действительно, это хорошо. Как бы много дополнительной памяти вы ни видели, используемой процессом System, ну, до Windows 10 примерно вдвое больше, чем было бы в измененном списке страниц или в резервном списке. Конечно, это не займет больше места, чем раньше.

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

Джейми Ханрахан
источник
В проводнике процессов, без загруженных отладочных символов, я получаю что-то: ntoskrnl.exe! CcCopyWriteWontFlush + 0xb50 Из этого получится больше деталей, если я добавлю символы? Существует 12 экземпляров, один из которых требует 12,5% ЦП. Это относится к системному процессу.
Рэймонд Буркхолдер
@RaymondBurkholder Вы можете получить больше информации, посмотрев на стек потоков.
Даниэль Б
@DanielB: да, это было на вкладке «Потоки» во всплывающем окне при просмотре свойств системного процесса в PID 4 в Process Explorer. Пояснение: кнопка стека ничего не показывает, но кнопка Модуль указывает, что это из файла 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 года, похоже, не имеет такой же проблемы.

Я думаю, что старая версия программного обеспечения имеет утечку памяти, вызывающую эту проблему.

Программное обеспечение «Killer Network Manager», являющееся всего лишь вашим сведением, является частью Qualcomms Aethos Killer Wireless-AC / Wireless-N и проводных сетевых карт E2200 / E2400. Без программного обеспечения у вас нет интернета.

McPlot
источник
Без водителя у вас нет интернета. Вы можете получить драйвер без всякой бессмысленной болтовни и раздувания, которые, по мнению производителя, вам нужны. В нижней части страницы, на которую вы ссылаетесь,
находится
2

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

Я проверил использование ЦП в диспетчере задач и заметил, что проблема возникла, когда процесс «Система и сжатая память» начал потреблять от 5 до 15% ЦП. Я запустил Process Explorer и проверил потоки, и, как и Реймонд, я заметил, что основным виновником был CcWriteCopyWontFlush со смещением 0xb50. Немного Googling привел меня на эту страницу. Я попытался установить символы Windows, как некоторые предложили здесь, но это никогда не помогало мне решить смещение.

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

Из ответов здесь я решил выследить драйверы на моем ПК, поэтому я начал с диспетчера устройств, и вот где я получил свой ответ. Когда возникла проблема, окно диспетчера устройств постоянно становилось пустым и обновлялось, как каждую секунду или две. Это было по сути нечитаемо. Еще Гуглинг предложил подключить и переподключить внешнее 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 немного "деликатна". Используйте с осторожностью.

MartinF
источник