Я продолжаю получать это раздражающее предупреждение о нехватке памяти / подсказку о закрытии игр, в которые я играю. Это случается очень часто, и у меня все еще остается ~ 6 гигабайт оперативной памяти. Я отключил виртуальную память, потому что она помещала материал в файл подкачки, когда у меня было 10 ГБ свободного ОЗУ, что резко увеличило использование моего диска.
Есть ли способ отключить это предупреждение? У меня есть 16 ГБ оперативной памяти, поэтому это не должно быть проблемой. Я бы предпочел не включать файлы подкачки, потому что мой HD очень громкий, поэтому приятно, чтобы он вращался как можно дольше.
Я не хочу отключить это полностью. В идеале я хотел бы, чтобы он отключился, когда у меня осталось ~ 2 ГБ, а не 6, но если это невозможно, я могу просто отключить его полностью.
Ответы:
Резюмируя ответ Скотта, вы получаете предупреждение о низкой памяти , потому что, в сущности, ваша система будет на самом деле работает мало доступной память из - за отсутствие виртуальной памяти , чтобы поглотить большие запросы памяти. Программы могут иногда выделять большие куски памяти, фактически не используя все сразу.
Вероятно, нет способа отключить это предупреждение, поскольку оно встроено в Windows. Однако я не исключаю, что вокруг будет какая-то взломанная регистрация.
Изменить: этот ответ может быть полезным.
источник
Не отключайте файл подкачки. Установите минимальное значение 1024 и максимальное значение 2048 МБ, и вы больше не получите это сообщение.
источник
Windows позволяет программам запрашивать выделение памяти (виртуальное адресное пространство), даже если они не планируют ничего делать с памятью. Это позволяет программе использовать память на более позднем этапе, и им не нужно тратить дополнительное время в течение критически важной для кода части кода, чтобы проверить ее доступность для использования.
Windows не будет перегружать память, так что у вас есть 10 МБ ОЗУ, и одна программа запрашивает 5 МБ (но использует только 2 МБ), а вторая программа запрашивает 6 МБ. Windows отклонит запрос на 2-ю программу, потому что не может гарантировать, что обе программы захотят использовать свои полные выделения, чтобы память была им доступна.
Если бы он позволял делать запросы на выделение без достаточного количества доступного места, вам нужно было бы либо аварийно завершить работу программы, которая пытается записать в память, в которой нет места, либо принудительно прервать другую программу, чтобы освободить место. (Linux допускает чрезмерную загрузку памяти, если вы хотите разрешить ее через,
/proc/sys/vm/overcommit_memory
и следует подходу « принудительно завершить другую программу », когда он встречает запись в память, которую он не может выполнить)Когда у вас есть файл подкачки, и программа запрашивает 5 МБ (но использует только 2 МБ), она помещает те 2 МБ памяти, которые она фактически использует, в оперативную память, а остальные 3 МБ выделяются в файле подкачки. Потому что это просто «распределение» и ничего из него не было записано или прочитано, но ввод-вывод не выполнялся, и скорость привода не имеет значения. Теперь, когда приходит вторая программа и запрашивает 6 МБ, остается достаточно места для выполнения запроса.
Теперь о вашей ситуации. Прежде всего, когда вы проверяете, сколько оперативной памяти используется, вы проверяете «Рабочий набор» или «Фиксированный размер». «Рабочий набор», то есть «использует только 2 МБ», который мы видели в предыдущем примере, «Фиксированный размер» будет тем «5 МБ», который вы запрашивали выше.
Если у вас нет файла подкачки, ваша общая сумма «Размер коммита» должна быть меньше, чем общая оперативная память в системе, для систем с файлами подкачки ваша общая сумма «Размер фиксации» может быть равна общей оперативной памяти в вашей системе + размер файла подкачки.
Я не знаю, когда вы пошли проверять доступную оперативную память, если диспетчер задач отображает итоговое значение «Рабочий набор» или оно изменится на итоговое значение «Фиксированный размер», если у вас нет файла подкачки, вы можете быть гораздо ближе к вашему пределу, чем вы думаете.
32-разрядная программа может выделить до 2 ГБ виртуального адресного пространства, а 64-разрядная программа может выделить до 7 ТБ для себя . Таким образом, любые программы, которые вы открываете, могут быстро занимать очень большие куски адресного пространства, поскольку окна спроектированы и настроены в течение многих лет для работы с файлом подкачки. Я думаю, что предупреждаю пользователя, когда вы достигли 66% от общего количества. емкость очень разумная.
Я знаю, что многие люди предполагают, что они получат более высокую производительность без файла подкачки, и это было верно еще в эпоху Windows 98, но многое изменилось, и теперь управление памятью стало намного лучше. В своем вопросе вы утверждаете, что отключили файл подкачки из-за большого использования диска, как вы измерили использование диска и как вы узнали, что он переходит на файл подкачки? Если вы получаете очень большое количество IO, когда у вас все еще есть много свободного барана, это может быть индикатором другой проблемы, которую мы можем помочь решить.
источник