У меня странная проблема, с которой я боролся уже больше года ...

У меня 6 ГБ ОЗУ, но Windows работает так, как будто это больше 2 ГБ. Windows сообщает, что у меня есть 6 ГБ без проблем, но сейчас, например, если я суммирую память всех запущенных процессов, я получу около 300 МБ используемой оперативной памяти. Тем не менее, Windows утверждает, что я использовал 73% физической памяти.

Другими словами, у меня только 27% свободных от моих 6 ГБ, без ЛЮБЫХ запущенных приложений (только небольшие фоновые приложения / процессы).

Смотрите этот скриншот, который объясняет проблему. В этом случае у меня работает много приложений, но в совокупности они используют менее 1 ГБ памяти. Тем не менее, Windows сообщает, что 96% моей памяти используется, и ведет себя соответственно (сбой приложений, предупреждения памяти и т.д.).

1 ответ1

2

Есть несколько вещей, чтобы сказать здесь ...

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

  2. Вы смотрите только на столбец «Память (частный рабочий набор)». Это не вся оперативная память, используемая каждым процессом. Например, он не включает код. Включите столбец «Рабочий набор (память)», чтобы увидеть их. Тем не менее, их общее количество будет обманчиво большим, поскольку кодовые (и многие другие) страницы распределяются между процессами. Sysinternals RAMmap - ваш лучший инструмент для реального изучения того, что использует RAM.

  3. Windows использует много другой оперативной памяти, которая не является частью какого-либо процесса, поэтому она не будет отображаться в этом списке. Утилита RAMmap от sysinternals покажет вам, где она находится.

  4. В Windows нет сообщения об ошибке "недостаточно памяти". Сообщение, которое вы видите, связано с исчерпанием виртуального адресного пространства на основе файла подкачки, то есть "плата за коммит" на вашем компьютере слишком близка к "пределу фиксации". Похоже, что ваш лимит коммитов составляет 8181, а комиссионный сбор составляет всего около 200 МБ. Вот почему вы получаете ошибки "нехватки памяти", когда вещи пытаются выделить этот тип VAS

  5. Также: оперативная память 6135. Ограничение фиксации - это размер ОЗУ + размер файла подкачки, поэтому это означает, что размер файла подкачки составляет всего около 2000 МБ. Увеличьте его как минимум до 6000. Это позволит большему количеству "частного рабочего набора" каждого процесса, включая старые устаревшие данные, которые на самом деле не нужно хранить в оперативной памяти, выталкивать на диск. (Windows может "сделать оперативную память доступной только в случае необходимости", если у нее есть место, отличное от оперативной памяти, чтобы сохранить старые устаревшие данные.) Смотрите http://azius.com/blog/pagefile-yes1/ для получения дополнительной информации.

  6. Пожалуйста, позабавьтесь с нами и попробуйте закрыть свой веб-браузер (ы) и сообщить, что происходит с "доступной" оперативной памятью. (Это число, которое вы хотите, кстати. "Свободный" не должен быть большим.)

  7. Пожалуйста, используйте инструмент SysInternals RAMmap. Скройте вкладку "Использовать счетчики" и опубликуйте результат. Убедитесь, что результат читабелен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .