"Недостаточно памяти" в 64-разрядной версии Windows 7 с 8 ГБ ОЗУ

У меня новый ноутбук Dell под управлением Windows 7 64-разрядная с 8 ГБ оперативной памяти. Если я оставляю систему включенной на ночь, на следующий день у меня начинают появляться ошибки памяти. Глядя на диспетчер задач, он показывает, что используется 6,27 ГБ, но, глядя на список процессов, итоговые данные показывают не так много. Я показываю все процессы от всех пользователей.

Я также посмотрел на процессы с Process Explorer и вижу те же результаты.

Используя Resource Monitor, я вижу, что используется 4165 МБ, модифицировано 2328 МБ, а в режиме ожидания 1352 МБ, и только около 345 МБ свободно. Эти цифры, кажется, не дополняют то, что я использую (Visual Studio 2010 вместе с несколькими сеансами IE8).

Я запускал тот же набор приложений в 32-разрядной версии Windows XP SP2 с 4 ГБ памяти и никогда не сталкивался с подобными проблемами.

Что такое модифицированная память? Что такое резервная память?

Любые предложения о том, что может быть проблема и как это исправить?

3 ответа

Решение

Если у вас есть Process Explorer, проверьте под памятью ядра - когда мой графический драйвер nvidia дает сбой, я пропускаю туда около 2 ГБ памяти.

Если вы просматриваете списки пейджинга в Process Explorer, он разбивается следующим образом: Zeroed - эти страницы не используются и были перезаписаны нулями. Бесплатно - эти страницы не размещены вообще. Изменено - приложение изменило эту страницу, и ее необходимо записать на диск, прежде чем ее можно будет заменить. ModifiedNoWrite - приложение изменило эту страницу, но ее не нужно переписывать перед заменой. Ожидание - эти страницы недавно использовались. Если они необходимы, их можно перераспределить в другое приложение. Уровни приоритета ниже показывают, насколько вероятно, что Windows думает, что страница снова понадобится. Если приложение использует страницу один раз в секунду, то, если Windows перераспределяет эту страницу другому приложению, ему придется распределять ее каждую секунду, так что это не очень полезно, если у нас есть страница, которая использовалась 20 минут назад фоном приложение и с тех пор не использовалось, мы могли бы перераспределять вместо того, чтобы перемещать одну и ту же страницу назад и вперед между двумя приложениями каждую секунду. Ваша "доступная" память нулевая + Свободная + Модифицированная + Модифицированная NoWrite+Standby

Что касается его исправления, если драйвер сбой или утечка памяти, вам просто нужно заменить драйвер более новой или более старой версией, у которой нет этой проблемы. К сожалению, я не знаю ни одного способа узнать, сколько памяти выделено для каждого драйвера, хотя в высокопроизводительной системе с 150 процессами и 50000 открытыми дескрипторами (steam, WoW, несколько редакторов, google chrome w/40 tabs), Я использую около 500 МБ выгружаемой физической памяти ядра, 500 МБ выгружаемой виртуальной памяти ядра и 150 МБ невыгружаемой памяти ядра. Если вы жалуете целые гигабайты, когда жалуетесь на проблемы с памятью, драйвер где-то плохо себя ведет. Остальная часть вашей памяти должна учитываться в списке процессов.

Проблема была вызвана BCMWLTRY.exe приложение Broadcom WLAN в виде лотка, стандартно устанавливаемое на ноутбуки Dell.

Если я заглянул в Диспетчер задач и просмотрел дескрипторы и ошибки страниц, то их было очень много. Как только я убил процесс BCMWLTRY, все проблемы с памятью были решены. Процесс перезапускается сам, поэтому его необходимо либо удалить, либо обновить.

Плохая версия 5.60.18.8, который я заменил на 5.60.48.35, После перезагрузки я сообщу вам, является ли это исправлением.

==> v5.60.48.35 имеет ту же проблему. Файл BCMWLTRY.exe можно переименовать в C:\Program Files\Dell\DW WLAN Card, чтобы его нельзя было перезапустить само.

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

И, кстати, если у вас много ожидания, у вас не хватает физической памяти. Режим ожидания является частью "доступных".

Редактировать - добавлено: мой гораздо более длинный ответ объясняет это более полно.

Другие вопросы по тегам