-1

Я не понимаю, почему чем больше у вас оперативной памяти, тем больше файл подкачки. Не должно ли быть наоборот? У меня сложилось впечатление, что пространство на жестком диске используется, когда недостаточно оперативной памяти для удовлетворения потребностей системы и приложений.

3 ответа3

1

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

Более существенно, однако, система виртуальной памяти Windows резервирует частный след для памяти процессов как в оперативной памяти, так и в виртуальной памяти во время загрузки процесса, даже если процесс никогда не будет использовать какой-либо из зарезервированных следов в файле подкачки. Обратите внимание, что это пространство зарезервировано, а не выделено. Также обратите внимание, что процесс может указать объем частной памяти, который он может фактически не использовать при резервировании.

Вот цитата из блогов MSDN об использовании памяти в файле подкачки:

Почему / операционная система может выделять пространство в файле подкачки для хранения содержимого памяти, содержимое которого никогда не становилось резидентным и может никогда не стать резидентным? Ответ на самом деле не так сложен: Windows не может выдать исключение / ошибку "недостаточно памяти" только потому, что вы пытались записать, например, статическую переменную. Пространство подкачки должно быть предварительно выделено в разумное время (например, при загрузке DLL), чтобы мы могли доставить результат ошибки в разумное время - время, когда виртуальные адреса изменились с зарезервированных на подтвержденные. Источник

Например, в Process Explorer метрика Private Bytes для использования памяти процесса относится к объему файла подкачки, зарезервированному для этого процесса, который будет достаточен для хранения памяти процесса, даже если процесс полностью выгружен на диск. Метрика рабочего набора показывает количество физической памяти, используемой программой (плюс любые общие объекты, которые может использовать процесс).

см. дополнительную информацию здесь:

0

В самом деле. Оперативная память и пространство подкачки составляют всю виртуальную память. ОС имеют тенденцию использовать ОЗУ в полной мере, потому что это быстрее. Когда у вас заканчивается ОЗУ, система запишет неиспользуемые страницы памяти в файл подкачки.

С самого начала виртуальной памяти были формулы, касающиеся количества пространства подкачки, которое вы должны зарезервировать на диске, обычно между 1x и 2x вашего объема оперативной памяти. В то время как это было до, в настоящее время рабочий стола с памятью 16G не будет нуждаться пространством подкачки , если вы не начнете делать серьезное редактирование видео или другие память ресурсоемких приложений. Тем не менее, Windows по-прежнему рассчитывает пространство подкачки с использованием формулы на основе ОЗУ и доступного дискового пространства.

Лучший способ определить, какой объем должен быть у вас подкачки, - это проверить количество используемой виртуальной памяти, когда вы используете память по максимуму. Затем перейдите на 1 или 2G выше. Как я уже сказал, я не могу вспомнить многих сценариев, когда настольному ПК с 16 ГБ ОЗУ понадобился бы какой-либо обмен, и даже для 8G-компьютера я сильно сомневаюсь, что вам понадобится любой.

-1

Ваше понимание верно. Размер файла подкачки (или файла подкачки) является просто настройками по умолчанию. Windows по умолчанию это соотношение составляет ~ 1

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