Недавно я заметил, что 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 не делать этого или, по крайней мере, кешировать намного менее агрессивно, поэтому я перестаю получать уведомления «Недостаточно памяти»?
Ответы:
Резервная память не является проблемой, она считается «свободной» и будет перераспределена по запросу - она просто содержит память, недавно использованную программами, но теперь освобожденную. Если другая программа запрашивает больше памяти, чем «Свободно», система должна выделять из набора Standby без проблем (так как «резервная» память в настоящий момент не используется).
Ваша чрезмерная Модифицированная память - ваша проблема, потому что она не может быть легко перераспределена. Смотрите здесь . Это может быть вызвано либо утечкой памяти (которая соответствует вашему первому абзацу - какие программы просочились?), Либо слишком маленьким размером файла подкачки (размер файла подкачки фиксированный или деактивирован?).
источник
Превентивное кэширование SuperFetch - это не ваша проблема. Windows 7 будет использовать как можно больше резервной памяти для предварительного кэширования того, что, по ее мнению, вам понадобится в дальнейшем. Если все получится правильно, это сэкономит вам немного времени, и ваши приложения появятся быстрее и быстрее.
Если он угадает неправильно и вам нужны другие данные, Superfetch освободит часть памяти, которая у вас есть, чтобы вы могли загрузить данные, которые вам действительно нужны. Смотрите: http://arstechnica.com/microsoft/news/2010/02/behind-the-windows-7-memory-usage-scaremongering.ars
Если вы испытываете проблемы с нехваткой памяти, это не произойдет из-за SuperFetch - так как он освободит столько памяти, сколько потребуется, если приложения потребуют этого. Доступная память (550 МБ) - это то, что используется SuperFetch, поэтому очевидно, что у вас еще не исчерпано памяти. Даже если вы израсходуете всю свою оперативную память, ваша машина переключится на виртуальную память, хотя вы захотите избежать этого из-за снижения производительности ...
Таким образом, это говорит о том, что у вас проблемы с нехваткой памяти из-за проблем в другом месте - возможно, одно из ваших утечек приложений потребляет (и не отказывается) от других типов ресурсов ...
В любом случае, решение, скорее всего, будет найдено путем решения проблем с вашими ошибочными приложениями, чем при работе с SuperFetch ...
источник
Поскольку вы не думаете, что проблема вызвана программой с утечкой памяти, альтернативой может быть увеличение размера файла подкачки.
Хотя файл подкачки не является вашей основной памятью, он позволит операционной системе перенести больше данных на жесткий диск и, надеюсь, остановить сообщение «недостаточно памяти». Единственным другим вариантом было бы удалить программу, связанную с процессом, имеющим огромный отпечаток 13 ГБ, хотя я понятия не имею, какая программа понадобится для распечатки такого большого объема памяти, если только это не была какая-нибудь высококачественная компьютерная игра или программное обеспечение для 3D-рендеринга.
источник
Исходя из моего опыта, ползучесть в режиме ожидания является реальной проблемой. Например, если я запустил Snagit в режиме «скользящих окон» для длинной статьи, будут фрагменты статьи, которые не были захвачены при работе только в резервной памяти. В любом случае, я обнаружил, что мой компьютер работает медленно в режиме ожидания.
Для решения проблемы я использую оптимизатор памяти из бесплатных утилит Glary. Мой компьютер имеет 6 ГБ памяти. При первой загрузке у меня около 2 ГБ оперативной памяти, 2 ГБ в режиме ожидания и 2 ГБ из того, что я называю «Свободная свободная память» в соответствии с монитором ресурсов Windows. Примерно через полдня вся моя свободная свободная память превратится в резервную, независимо от того, использую я компьютер или нет. Теперь у меня запущен оптимизатор памяти Glary Utilities с Windows, и я могу поддерживать мой компьютер на неопределенный срок, имея 2 ГБ свободной свободной памяти.
Каждый раз, когда я сажусь на другой сеанс, я сначала дважды щелкаю по значку на панели задач оптимизатора памяти и выполняю оптимизацию; прося освободить мою оригинальную память 2 ГБ Free-Free. Я могу попросить больше, но это максимум, который он освободит независимо. Для завершения работы оптимизатора требуется около 30 секунд, что намного меньше, чем требуется для перезагрузки. У него есть режим автооптимизации, но я не смог понять, как заставить его работать.
источник
Чтобы решить эту проблему
Перейдите к start-run-msconfig, затем выполните обслуживание и уберите галочку из «Основы драйвера Windows». нажмите кнопку ОК и перезагрузите машину.
Помните - только вышеупомянутые шаги решат эту проблему. Если вы отключили файл services.msc, он все еще активен во время загрузки ОС и заблокирует вашу память.
Для проверки используйте инструмент
источник