Контекст: Мой компьютер работает под управлением Windows 10, и он был куплен как игровой компьютер. Хороший графический процессор, хороший процессор, 16 ГБ ОЗУ и т.д. Есть два жестких диска, очень маленький (100 ГБ) твердотельный накопитель для ОС и жесткий диск объемом 3 ТБ.
В последние несколько месяцев у меня начались проблемы с оперативной памятью. Приложения могут аварийно завершить работу после получения предупреждений о повышенном использовании памяти. Я подозревал, что одна из моих карт памяти была сломана, повреждена или что-то в этом роде, потому что я получал эти предупреждения, когда менеджер задач сказал, что я использую около 7,9 ГБ / 16 ГБ. Я использовал все тесты и диагностику, которые мог найти, но в оперативной памяти не было никаких признаков проблем. Тем не менее, вещи начали рушиться около половины использования.
В последние несколько дней стало еще хуже. Я даже не мог открыть диссонанс во время игры в Starcraft II, иначе один из них потерпел бы крах без предупреждения.
Что я наконец-то заметил, это преданное использование памяти. Он висел около 64 ГБ / 64,9 ГБ. Я абсолютно ничего не знал о том, что это даже было, но это показалось мне подозрительным, так как число было таким высоким.
Я начал отслеживать этот график с помощью RamMap. Яблочко, несколько раз без сомнения, что-то рухнуло, как только оно достигло пика (100%), и после крушения оно упало на 1 Гб или около того.
Но перезагрузка компьютера не имела никакого значения. Сразу после запуска у меня было около 61 ГБ / 64,9 ГБ выделенной памяти, даже когда обычное использование памяти было всего 2 ГБ / 16 ГБ. Просмотр дополнительных столбцов в деталях диспетчера задач о выделенной памяти не имеет значения, кажется, что ни один процесс фактически не использовал всю эту выделенную память.
Решение, которое я нашел для сбоев после долгих проб и ошибок, состояло в том, чтобы заставить мою систему вообще не использовать файл подкачки и перезапустить компьютер, что, по-видимому, полностью очистило систему. До этого он был установлен как "автоматически управляемый системой". Теперь выделенная память зависает от того же объема, который фактически использует RAM.
Но если я снова включу файл подкачки, он снова начнет медленно, но верно расти. Кажется, он вырос за 5Gb всего за несколько дней.
Итак, мой вопрос: есть ли способ вести журнал того, какой процесс запоминает память, а затем не освобождает его, или есть способ из уже заполненного файла подкачки, чтобы узнать, какой процесс связан с каким размером файла подкачки?
У меня есть резервная копия (огромного) файла pagefile.sys, прежде чем полностью его удалить. Идеальным решением было бы иметь возможность проанализировать этот файл резервной копии вместо, например, использования программного обеспечения для мониторинга в режиме реального времени, и позволить ему работать в течение нескольких дней, недель или, может быть, даже месяцев, чтобы вернуться к этому безумию (60+ Гб) использование.
Прямо сейчас, мое единственное решение - это отключить его. Это действительно рискованный обходной путь, а не реальное решение. Где-то на моем компьютере все еще есть процесс или служба, которая пытается завладеть файлом подкачки, и я просто отказываю ему в том, что нужно выделить место, вместо того, чтобы найти и исправить это. Кроме того, я теряю всю функцию файла подкачки из-за того, что, вероятно, один анонимный процесс содержит утечку памяти.
Еще одна странная вещь: все онлайн говорят, что нужно использовать poolmon.exe, доступный в комплекте драйверов Windows. Не работает для меня Установка WDK не имеет значения, я не могу изменить место установки, и по умолчанию (C:\Program Files (x86)\Windows Kits\10\Tools) не существует (внутри нет папки "Tools") C:\Program Files (x86)\Windows Kits\10\". Poolmon нигде не найти, и хотя он должен работать как отдельный, по какой-то причине я не могу найти загрузку для .exe напрямую. , После нескольких попыток установка WDK больше не запускается, просто мигает синее квадратное окно со значком в виде панели инструментов в середине моего экрана, затем исчезает через секунду и ничего не делает.