Windows 10 высокое использование памяти (неизвестная причина)


77

Несколько дней назад я обновил свой компьютер до Windows 10. Однако после некоторого использования мой компьютер начал замедляться, пока его стало невозможно использовать - это было связано с большим использованием памяти. После перезапуска все пришло в норму (общее использование около 25% от 8 ГБ ОЗУ). Тем не менее, в течение нескольких часов использования память снова увеличивается до 70%, а если не перезагружается, то до 100%, а затем даже зависает. Диспетчер задач не сильно помогает, так как не показывает все процессы (добавлены скриншоты ниже). Также пробовал RAMMap, но выдает ошибку: «ошибка обновления базы данных». Я попытался найти этот вопрос, но без особого успеха.

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

Использование оперативной памяти 1

Использование ОЗУ 2


@AR предоставляет трассировку xperf. Мне нужно посмотреть на стеки вызовов, чтобы увидеть больше.
magicandre1981

Я знаю, что эта тема решена, но хорошим первым шагом является отключение Hyper-V. это был виновник в моем случае.
Гиперпочта

Что запускал Hyper-V?
rogerdpack

Ответы:


117

У вас есть утечка памяти, вызванная драйвером. Посмотрите на высокое значение памяти невыгружаемого ядра. В вашем случае это более 3,7 ГБ. Вы можете использовать poolmon, чтобы увидеть, какой драйвер вызывает высокую загрузку .

Установите Windows WDK , запустите poolmon, отсортируйте его по Pтипу пула, чтобы не выгружаемый был сверху, а Bпосле байтов - чтобы увидеть тег, который использует больше памяти. Запустите poolmon, перейдя в папку, где установлен WDK, перейдите в Инструменты (или C:\Program Files (x86)\Windows Kits\10\Tools\x64) и нажмите poolmon.exe.

Теперь посмотрите, какой тэг пула использует больше всего памяти, как показано здесь:

введите описание изображения здесь

Теперь откройте командную строку и запустите команду findstr. Для этого откройте командную строку cmd и введите cd C:\Windows\System32\drivers. Затем введите findstr /s __ *.*, где __ - тег (самое левое имя в poolmon). Сделайте это, чтобы увидеть, какой драйвер использует этот тег:

введите описание изображения здесь

Теперь перейдите в папку драйверов ( C:\Windows\System32\drivers) и щелкните правой кнопкой мыши нужный драйвер (intmsd.sys в приведенном выше примере изображения). Нажмите Свойства, перейдите на вкладку сведений, чтобы найти название продукта. Ищите обновление для этого продукта.

Если тег пула показывает только драйверы Windows или указан в файле pooltag.txt ( "C:\Program Files (x86)\Windows Kits\10\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 -60-х годов роста. Откройте ETL с помощью WPA.exe, добавьте графики пула на панель анализа.

Поместите столбец пула тегов на первое место и добавьте столбец стека. Теперь загрузите символы в WPA.exe и разверните стек тега, который вы видели в poolmon.

введите описание изображения здесь

Теперь найдите другие сторонние драйверы, которые вы можете увидеть в стеке. Здесь Threтэг (Thread) используется AVKCl.exe из G-Data. Ищите обновления драйверов / программ, чтобы исправить это.


Пользователь Христо Христов предоставил трассировку с высокой FMfnзагрузкой при распаковке файлов:

введите описание изображения здесь

Тег используется драйвером, WiseFs64.sysкоторый является частью программы «Wise Folder Hider». Удаление этого исправляет утечку.


Пользователь Samuil Dichev предоставил трассу с высокой FMicи Irpиспользованием

введите описание изображения здесь

введите описание изображения здесь

Теги используются программой Razor Cortex .

В образце пользователя chr0n0ssFMic и Irpиспользование вызвано F-Secure Antivirus Люкс:

введите описание изображения здесь

Удаление и использование Защитника Windows устранило проблему для него.



4
вау, большое спасибо за такой быстрый ответ на вопрос, что я подумал, что никогда его не найду :) кажется, что сетевые драйверы вызывали проблему и после обновления использование памяти кажется нормальным. Еще раз спасибо! :)
Лукас

1
Это напоминает мне сообщение в блоге Марка Руссиновича.
Вс

1
Я думаю, что ссылка на скачивание WDK, которую вы предоставляете, предназначена для Win 8. Версия для Win 10 находится здесь: msdn.microsoft.com/en-us/windows/hardware/dn913721.aspx
Трэвис Бемроуз

1
Findstr команда ничего , что могло бы помочь мне не вернуть pasteboard.co/2HmQZYbN.png
Loenix

1
NDbf был высоким, потом я обнаружил, что это был sumsungrapiddskfltr или что-то в этом роде, я выключил его, теперь он работает хорошо.
Сурадж Джейн

26

у этого парня может быть сетевая карта бренда Killer Networking (ранее Bigfoot).

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

Я искал в Google ... Нашел эту ветку, в которой говорилось, что это был его сетевой драйвер, а затем он прогуглил "утечку памяти убийцы", увидел хиты и обнаружил, что это было само приложение-убийца, а не только в Windows 10.

Теперь я золотой ... Так что, если у кого-то еще есть эта проблема, и у него есть одна из многих игровых плат или ноутбуков, которые имеют убийственную сетевую карту, вы можете просто отключить запуск приложения-убийцы. Но я полностью удалил предоставленный ASROCK драйвер, а затем установил самый последний пакет драйверов только с официального сайта убийцы. Это меньше ~ 30 Мб загрузки. Если ваша загрузка ближе или превышает 100 МБ, значит, вы ошиблись.

Вы потеряете все, что выделяет убийцу (это программное обеспечение QoS), но это именно то, для чего в первую очередь нужен хороший маршрутизатор ... Тем более что приложение-убийца обрабатывает только QoS приложений, запущенных на вашем ПК, и ничего не делает для ваша сеть в целом.


1
Было бы лучше подтвердить, что они сделали. Как только они подтвердили это, тогда представьте ответ. Даже если вы сделали это, этот ответ не объясняет, как решить проблему.
Ramhound

2
Большое спасибо за ваш ответ. это сэкономило мне много времени. У меня такая же проблема. После прочтения вашего ответа я просто удалил приложение Killer, а затем только установил сетевые драйверы. Теперь у меня windows 10 работает отлично.
Буджу

1
Вы спасли меня, спасибо! Я удалил весь пакет Killer и установил только драйверы. Теперь при запуске мое использование оперативной памяти составляет 25% (2 ГБ) против 50% ~ 60% раньше.
Никоскип

Чем тебя столько !!!
срчуло

1

Принятый ответ magicandre1981 является правильным ответом на эту проблему, если использование ОЗУ продолжает расти до 100%, то, скорее всего, имеется утечка памяти.

Однако, если вы зашли на эту страницу из-за того, что использование памяти в Windows 10 является высоким, но остается стабильным (как в диапазоне 60% -90%), у вас, вероятно, не возникнет проблем. Windows 10 использует оперативную память более эффективно, чем предыдущие версии. Это потому , что неиспользованная RAM впустую ОЗУ .

Современные операционные системы долгое время обменивали редко используемые данные памяти в файл подкачки на жестком диске, чтобы освободить ОЗУ для более часто необходимых данных памяти. (В моей системе Win 10 имеется 8 ГБ ОЗУ и файл подкачки 12 ГБ.) Однако эти данные медленно извлекаются из накопителя, и Windows 10 сжимает нечасто доступную память и сохраняет ее в системном процессе (в ОЗУ). Распаковать эти данные быстрее, чем извлечь их с жесткого диска (даже с SSD). То, что ваша оперативная память в основном заполнена, не означает, что вы больше не сможете запускать больше вещей, если потребуется больше оперативной памяти, Win 10 перенесет часть этой сжатой памяти в файл подкачки, чтобы освободить память для новых приложений.

Если вы постоянно обнаруживаете, что системный процесс использует более 1 ГБ ОЗУ (как у меня), то у вас, вероятно, слишком много открытых вкладок браузера (как у меня). Может помочь расширение типа OneTab .


нет, кеш отображается как резервный / кэшированный в Taskmgr. Сжатие Win10 Taskmgr отображается как использование рабочего набора в процессе SYSTEM. Я уже объяснил это здесь: superuser.com/a/952142/174557
magicandre1981

@ magicandre1981 Что ты говоришь "нет"? Я не вижу разногласий.
Трэвис Бемроуз

1
Я обнаружил, что Windows 10 по-прежнему нацелена на сохранение использования памяти ниже 60%, и больше, чем это, она начинает пейджировать. У нас более 1000 устройств с предупреждениями о том, что использование памяти превышает 80%, а ПК действительно начинают замедляться. Windows 10 может справиться с этим лучше, но также лучше оставить большую часть памяти свободной, готовой для использования другими процессами, когда это необходимо, в противном случае ей придется записывать обратно на диск, прежде чем освободить память, что является медленным.
user2924019
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.