У меня Windows 8.1 64 бит, 8 Гб оперативной памяти.
Мой диспетчер задач показывает 49% используемой оперативной памяти, но я все еще получаю сообщения типа "Windows имеет мало памяти, мы рекомендуем закрыть приложение". Он всегда говорит это о приложении, которое в данный момент неактивно, но использует больше памяти, чем другие процессы (когда запущен Firefox, это Firefox, в противном случае это Skype).
Итак, мой вопрос:как настроить порогили как заставить Windowsне сообщатьо нехватке памяти?
Примечание: даже когда у него 70+% свободной памяти, он все равно сообщает о низком уровне памяти. Количество запущенных приложений не имеет значения.
Примечание 2: этого не происходит, когда я запускаю новое приложение. Похоже, в Windows есть какая-то проверка памяти, и она регулярно выдает это сообщение при выключении. Она сворачивает активные приложения (игры или браузер) и показывает мне это странное сообщение.
решение1
У вас маловиртуальныйпамять. Это может произойти, даже если у вас много свободной оперативной памяти.
Это как неспособность тратить деньги, даже если у вас осталось много чеков и много денег в банке. У вас должно быть достаточно денег, чтобы покрыть уже выписанные чеки, иначе вы не сможете выписать больше, не рискуя катастрофой, если все ваши чеки будут обналичены одновременно.
Простое решение — увеличить файл подкачки.
Файл подкачки похож на кредитную линию, из которой Windows может брать деньги. Зная, что он может брать деньги из файла подкачки, если все его чеки будут обналичены одновременно, он может продолжать выписывать чеки. Скорее всего, он на самом деле не будет использовать файл подкачки, но он ему просто нужен, чтобы гарантировать, что он может сдержать свои обещания.
Например, у вас 4 ГБ оперативной памяти. Запускаются четыре приложения и сообщают ОС, что им может потребоваться до 1 ГБ оперативной памяти (резервирование). ОС говорит: «хорошо», и все четыре приложения запускаются. (Вы бы предпочли, чтобы она не позволяла им запускаться?!)
Допустим, они сейчас используют в общей сложности 1 ГБ оперативной памяти. Затем запускается другое приложение и запрашивает 1 ГБ. Что может сделать ОС? Если она скажет «да» этому приложению, что произойдет в очень маловероятном случае, если все приложения внезапно используют всю запрошенную ими память? У ОС нет доступных 5 ГБ, и она не может отменить обещания, которые уже дала.
С файлом подкачки, конечно, он может просто записать редко используемые страницы на диск и сдержать все свои обещания. Поэтому ему нужен файл подкачки, чтобы позволить другому приложению работать, даже если 3 ГБ свободно.
С большим файлом подкачки Windows может разрешить запуск приложений до тех пор, пока фактический рабочий набор может поместиться в ОЗУ. Без файла подкачки вообще Windows не может разрешить запуск каких-либо приложений, если только она не может поместить в ОЗУ все, что может быть использовано на основе уже принятых обязательств. Это означает, например, что простое частное, записываемое отображение файла размером 1 ГБ делает весь 1 ГБ ОЗУ по сути бесполезным, поскольку приложение может записать в каждый байт этого файла, так что 1 ГБ ОЗУ может содержать только страницы, которые можно безопасно отбросить.
Linux, кстати, позволяет операционной системе перераспределять резервное хранилище. Недостатком этого является то, что может потребоваться принудительное завершение процессов, если ОС в итоге даст обещания, которые она не сможет выполнить. Вот почему в Linux есть "ООМ киллер" а Windows нет. Большинство машин Linux имеютпереобязательствов любом случае отключен.
решение2
Оповещение о нехватке памяти можно отключить, взломав реестр, как описано ниже.
Однако, поскольку изменения в реестре могут дестабилизировать Windows, лучше сначала позаботиться о резервных копиях и создать точку восстановления системы, к которой вы сможете вернуться в случае возникновения проблем. У меня нет личного опыта с этим взломом.
Запустите regedit и перейдите к этому ключу:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WDI\DiagnosticModules
Экспортируйте (для резервного копирования), а затем удалите следующие подключи:
{45DE1EA9-10BC-4f96-9B21-4B6B83DBF476}
{5EE64AFB-398D-4edb-AF71-3B830219ABF7}
{C0F51D84-11B9-4e74-B083-99F11BA2DB0A}
Теперь перезагрузитесь.
Если вы обнаружили, что у вас нет прав на удаление этих ключей реестра, см. статью
Станьте владельцем раздела реестра в Windows 7.
Вам следует знать, что если у вас внезапно закончится память, Windows может аварийно завершить работу без какого-либо предварительного уведомления или программы могут вести себя странно.
Кроме того, этот совет сработал для Windows 7, но не был проверен для Windows 8.1.