16

Недавно я заметил, что Windows 7 на моей машине жалуется на нехватку памяти и что мне нужно закрыть некоторые программы. Затем он обычно указывает на программу, которую я запускаю, которая имеет утечку памяти и стала довольно большой. Однако обычно эти программы начинаются с 20 МБ оперативной памяти, и только после запуска программы от 12 до 24 часов они увеличиваются до не более 200 МБ оперативной памяти. У меня никогда не было запущено более трех таких программ одновременно, поэтому максимальное использование ОЗУ 600 МБ я никогда не видел по запущенным программам.

Я использую Windows 7 x64 на компьютере с 4 ГБ оперативной памяти. Сначала я действительно забыл об этом и просто перезапускал программы, когда Windows жаловалась, но теперь, когда я вспомнил, тот факт, что Windows жалуется на то, что я использую 600 МБ ОЗУ (меньше 2 ГБ, даже если вы используете память, используемую самой ОС), показался странным , Поэтому я открыл окно системных процессов, чтобы посмотреть на общее использование памяти в моих процессах и системных процессах, которые были перечислены. Он составил чуть более 700 МБ, поэтому я все еще был в замешательстве. Затем я подошел к монитору ресурсов и открыл вкладку «Память». Там я думаю, что нашел свой ответ. Он отметил, что на самом деле я использовал только 33% своей оперативной памяти. Однако на панели выделения ресурсов физической памяти раздел «Модифицированный» был объемом до 2,3 ГБ, раздел «Резервный» - до 540 МБ, раздел «Свободный» - объемом менее 20 МБ, объем кэш-памяти - 2,8 ГБ, объем доступной памяти - 550 МБ. (Эти значения немного округлены, конечно, поскольку ваши постоянно меняются, когда я пишу это.)

Так что, видимо, Windows 7 использует больше памяти, чем я. В какой-то момент в прошлом я вносил некоторые изменения в установленное меню служб Windows, но это было только для отключения определенных служб хостинга, поскольку я не хотел делать общий доступ к мультимедиа, включать клиент Telnet и удалять Интернет. Исследователь, но это может быть моя вина. Есть ли способ заставить Windows не делать этого или, по крайней мере, кешировать намного менее агрессивно, поэтому я перестаю получать уведомления "Недостаточно памяти"?

5 ответов5

10

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

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

4

Превентивное кэширование SuperFetch - это не ваша проблема. Windows 7 будет использовать как можно больше резервной памяти для предварительного кэширования того, что, по ее мнению, вам понадобится в дальнейшем. Если все получится правильно, это сэкономит вам немного времени, и ваши приложения появятся быстрее и быстрее.

Если он угадает неправильно и вам нужны другие данные, Superfetch освободит часть памяти, которая у вас есть, чтобы вы могли загрузить данные, которые вам действительно нужны. Смотрите: http://arstechnica.com/microsoft/news/2010/02/behind-the-windows-7-memory-usage-scaremongering.ars

Если вы испытываете проблемы с нехваткой памяти, это не произойдет из-за SuperFetch - поскольку он освободит столько памяти, сколько необходимо, если приложения потребуют этого. Доступная память (550 МБ) - это то, что используется SuperFetch, поэтому очевидно, что у вас еще не исчерпано памяти. Даже если вы израсходуете всю свою оперативную память, ваша машина переключится на виртуальную память, хотя вы захотите избежать этого из-за снижения производительности ...

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

В любом случае, решение, скорее всего, будет найдено путем решения проблем с вашими ошибочными приложениями, чем при работе с SuperFetch ...

0

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

Хотя файл подкачки не является вашей основной памятью, он позволит операционной системе перенести больше данных на жесткий диск и, надеюсь, остановить сообщение "недостаточно памяти". Единственным другим вариантом было бы удалить программу, связанную с процессом, имеющим огромный отпечаток 13 ГБ, хотя я понятия не имею, какая программа потребуется для распечатки такого большого объема памяти, если только это не была какая-нибудь высококачественная компьютерная игра или программное обеспечение для 3D-рендеринга.

0

Исходя из моего опыта, ползучесть в режиме ожидания является реальной проблемой. Например, если я запустил Snagit в режиме «скользящих окон» для длинной статьи, то будут отдельные части статьи, которые не были захвачены при работе только в резервной памяти. В любом случае я обнаружил, что мой компьютер работает медленно в режиме ожидания.

Для решения проблемы я использую оптимизатор памяти из бесплатных утилит Glary. Мой компьютер имеет 6 ГБ памяти. При первой загрузке у меня около 2 ГБ оперативной памяти, 2 ГБ в режиме ожидания и 2 ГБ из того, что я называю «Свободная свободная память» в соответствии с монитором ресурсов Windows. Примерно через полдня вся моя свободная свободная память превратится в резервную, независимо от того, использую я компьютер или нет. Теперь у меня запущен оптимизатор памяти Glary Utilities с Windows, и я могу поддерживать мой компьютер на неопределенный срок, имея 2 ГБ свободной свободной памяти.

Каждый раз, когда я сажусь на другой сеанс, я сначала дважды щелкаю по значку на панели задач оптимизатора памяти и выполняю оптимизацию; прося освободить мою оригинальную память 2 ГБ Free-Free. Я могу попросить больше, но это максимум, что он высвободит независимо. Для завершения работы оптимизатора требуется около 30 секунд, что намного меньше, чем требуется для перезагрузки. В нем есть режим автооптимизации, но я не смог понять, как заставить его работать.

-1

Для решения этой проблемы

Перейдите к start-run-msconfig, затем выполните обслуживание и уберите галочку из "Основы драйвера Windows". нажмите кнопку ОК и перезагрузите машину.

Помните - только вышеупомянутые шаги решат эту проблему. Если вы отключили файл services.msc, он все еще активен во время загрузки ОС и заблокирует вашу память.

Чтобы проверить это, используйте инструмент

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