Перемещение файла подкачки в ОЗУ - смешное понятие. Просто выключите его и увеличьте объем ОЗУ. :)
No matter how much RAM you have, you want the system to be able to use it efficiently. Having no paging file at all forces the operating system to use RAM inefficiently for two reasons. First, it can't make pages discardable, even if they haven't been either accessed or modified in a very long time, which forces the disk cache to be smaller. Second, it has to reserve physical RAM to back allocations that are very unlikely to ever require it (for example, a private, modifiable file mapping), leading to a case where you can have plenty of free physical RAM and yet allocations are refused to avoid overcommitting.
Consider, for example, if a program makes a writable, private memory mapping of a 4GB file. The OS has to reserve 4GB of RAM for this mapping, because the program could conceivably modify every byte and there's no place but RAM to store it. So immediately, 4GB of RAM is basically wasted (it can be used to cache clean disk pages, but that's about it).
Управление памятью осуществляется процессором, и то, включен ли файл подкачки или нет, не имеет разницы в том, как обрабатываются страницы. Это прозрачно для Windows.
Приоритет страницы не меняется, страницы будут отбрасываться точно так же. Файлы подкачки используются ЦП в качестве вторичного хранилища, а не ОС. Это ничто иное, как второй уровень кеша, когда заканчивается первый уровень (ОЗУ).
Быстрый и очень грязный пример: на моей машине 16 ГБ ОЗУ и нет файла подкачки. 5 минут назад с 13 ГБ в режиме ожидания и только 2 ГБ свободно, я загрузил Fallout 4. Страницы с низким приоритетом были сброшены при загрузке Fallout.
Между прочим, блог Technet 2008 года о расширении ограничений памяти Windows вводит в заблуждение - я бы сказал, что это обман.
https://i.stack.imgur.com/wXkmi.png
Я тоже сомневаюсь, даже написал ли это Марк, но надеюсь, что нет, так как это изменило бы мою точку зрения на него .....
Между прочим, в статье есть зияющие дыры, которые я ошеломлен, о которых никто не говорил, учитывая, как часто этот блог упоминался
- Файл подкачки и его местоположение обрабатываются Windows, а перехват доступа к памяти в местах, которые были выгружены на диск, будет отслеживаться ЦП, но передается операционной системе, чтобы извлечь страницу с диска и загрузить ее.
Во всяком случае, вот одно не очень расплывчатое описание:
Windows не может достичь более высоких адресов, чем процессор - это невозможно.
Независимо от того, на что способна ОС, она по-прежнему ограничена аппаратным обеспечением, на котором она работает ... потому что ОС фактически является самим ЦП (внутренние регистры).
Итак, файл подкачки - это область на жестком диске, которую ЦП использует для расширенного физического адресного пространства, когда он не может физически или архитектурно использовать больше ОЗУ.
Например, в 32-разрядной архитектуре x86 имеется два сегмента оперативной памяти по 2 ГБ.
Один выделен ядру. Остальные 2 ГБ предназначены для пользовательского режима. Это все оперативная память, которую ЦП может использовать с 32 выводами DRAM, но 32-битный процесс имеет 4 ГБ, что делать. К счастью, процессор может использовать дополнительное хранилище AKA и жесткий диск для хранения дополнительных 2 ГБ страниц. Потому что он имеет внутренние регистры
. Физические места, где виртуальные страницы, на которые ссылается процесс, не должны храниться в оперативной памяти. Но они хранятся где-то в процессоре.
Процессор не может дать приложению все 4 ГБ ОЗУ, но он может дать ему 4 ГБ адреса, используя жесткий диск в качестве вторичного кеша (что на самом деле и есть весь жесткий диск)
Страницы перемещаются в оперативную память и из нее через внутренний механизм разбиения на страницы, но это не то же самое, что файл подкачки. Пейджинг всегда происходит ....
Суть в том, что все не так сложно. За последние 15 лет у многих конечных пользователей сложилось впечатление, что файл подкачки является неотъемлемой частью операционной системы, а не так. Такого никогда не было. Это заблуждение частично подпитывается такими корпорациями, как Intel и Microsoft.
ОЗУ - это быстрое запоминающее устройство, жесткий диск - более медленное запоминающее устройство, поэтому, по сути, ОЗУ - это кэш-память первого уровня, а жесткий диск - это уровень 2 (без учета кэш-памяти ЦП для этой аналогии). Оба могут быть доступны процессором.
Если процессору недостаточно памяти для хранения страниц, которые ему нужны, жесткий диск можно использовать как переполнение. Если имеется много оперативной памяти, то PF является избыточным.
Вплоть до Core 2 процессоры Intel имели 32-контактную шину DRAM и 32 регистра, что означало, что ЦП имел доступ к 4 ГБ ОЗУ и 4 ГБ пространства на жестком диске (файл подкачки). Это архитектурное аппаратное ограничение, а не ограничение Windows.
Общее количество доступных процессов составило 3,5 ГБ, поскольку таблица страниц занимает 512 МБ. Вот почему 3,5 ГБ появляется в Windows с процессорами Intel (вплоть до Core 2). Добавьте графический процессор и даже меньше доступно.
Xeon может получить доступ к 32 ГБ ОЗУ, 64 ГБ физического пространства с включенным HDD (снова файл подкачки). ( Это ^ относится к PAE, - чтобы добавить ссылки ).
http://www.windowsdevcenter.com/pub/a/windows/2004/04/27/pagefile.html
3-й снимок экрана:
бинарный интерфейс приложения System V, добавление к архитектуре процессора AMD64, версия 0.99.7
Я намерен продолжать улучшать этот ответ и добавлять исходный материал и соответствующую информацию. Я бы хотел достичь баланса между нехваткой информации и технической информацией. Предложения приветствуются. Пожалуйста, не понижайте голос только потому, что это не так хорошо написано.