Как сделать предупреждение о нехватке памяти в Windows менее чувствительным?

7

Я продолжаю получать это раздражающее предупреждение о нехватке памяти / подсказку о закрытии игр, в которые я играю. Это случается очень часто, и у меня все еще остается ~ 6 гигабайт оперативной памяти. Я отключил виртуальную память, потому что она помещала материал в файл подкачки, когда у меня было 10 ГБ свободного ОЗУ, что резко увеличило использование моего диска.

Есть ли способ отключить это предупреждение? У меня есть 16 ГБ оперативной памяти, поэтому это не должно быть проблемой. Я бы предпочел не включать файлы подкачки, потому что мой HD очень громкий, поэтому приятно, чтобы он вращался как можно дольше.

Я не хочу отключить это полностью. В идеале я хотел бы, чтобы он отключился, когда у меня осталось ~ 2 ГБ, а не 6, но если это невозможно, я могу просто отключить его полностью.

Стивен Смит
источник
Рассматривали ли вы уменьшение шума от жесткого диска? Например, глушитель жесткого диска: бутерброды и подвески .
Эндрю Мортон
1
Этот вопрос, вероятно, устанавливает новый рекорд для «большинства ответов, которые на самом деле не отвечают на вопрос ».
Хьюго Цинк,

Ответы:

5

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

Вероятно, нет способа отключить это предупреждение, поскольку оно встроено в Windows. Однако я не исключаю, что вокруг будет какая-то взломанная регистрация.

Изменить: этот ответ может быть полезным.

Bigbio2002
источник
3

Не отключайте файл подкачки. Установите минимальное значение 1024 и максимальное значение 2048 МБ, и вы больше не получите это сообщение.

magicandre1981
источник
У меня та же проблема, что и у @StephenSmith, хотя у меня включен файл подкачки. Только что память предостерегающий на 9.6GB / 16GB используется, мои настройки Pagefile выглядеть это .
Marv
1
@Marv опубликовал несколько фотографий RAMMap: technet.microsoft.com/en-us/sysinternals/ff700229.aspx
magicandre1981
Первая вкладка здесь , если вы заинтересованы в большем, дайте мне знать.
Marv
1
@Marv невыгружаемый пул слишком большой. проанализируйте его с помощью poolmon и, возможно, xperf / WPA: superuser.com/a/997059/174557 . Вы отключили службу SuperFetch?
magicandre1981
1
@Marv снова включит суперпатч. в Win10 это требуется для сжатия памяти и сохранения ее в ОЗУ: superuser.com/a/952142/174557 это позволяет избежать подкачки страниц. Но приятно слышать, что вы обнаружили утечку сетевого драйвера.
magicandre1981
2

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, когда у вас все еще есть много свободного барана, это может быть индикатором другой проблемы, которую мы можем помочь решить.

Скотт Чемберлен
источник
2
Я знаю, что это идет в файл подкачки, потому что это звучит как ураган, когда файл подкачки включен с постоянной записью на диск. Также я не сказал 66%, я сказал 10 концертов бесплатно, что в моем случае, 37% используется. Кроме того, я просто начал использовать арку вместо. Он больше не используется для игр, и с отключенным файлом подкачки он отлично работает как сервер с тихим сервером, и я почти никогда не использую более 6 ГБ оперативной памяти, поэтому мне не нужен файл подкачки.
Стивен Смит
А также для SSD: хотя в настоящее время файлы подкачки уже не представляют особой угрозы, системы без жесткого диска и большого количества оперативной памяти могут по-прежнему предпочитать отключать их, чтобы сэкономить дополнительный износ флэш-памяти.
СЗ