Переміщення файлу сторінки в оперативну пам’ять - це смішне поняття. Просто вимкніть його та більше оперативної пам'яті. :)
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 не може отримати більш високі адреси, ніж центральний процесор - це неможливо.
Незалежно від того, на що здатна ОС, вона все ще обмежена апаратним забезпеченням, на якому вона працює .. тому що ОС насправді є самим процесором (внутрішні регістри).
Гаразд, тому файл сторінки - це область на жорсткому диску, яку CPU використовує для розширеного фізичного адресного простору, коли він фізично чи архітектурно не може використовувати більше оперативної пам'яті.
Наприклад, у сегментованій 32-бітовій архітектурі x86 є два сегменти оперативної пам’яті 2 Гб.
Один виділяється на ядро. Інші 2 Гб призначені для користувальницького режиму. Це вся оперативна пам’ять, яку процесор може використовувати з 32 штифтами DRAM, але 32-бітний процес має 4 ГБ, і що робити. На щастя, процесор може використовувати вторинний накопичувач AKA на жорсткому диску для зберігання додаткових 2 Гб сторінок. Оскільки він має внутрішні регістри
Фізичні місця, де віртуальні сторінки, на які посилається процес, не повинні зберігатися в ОЗУ. Але вони дійсно зберігаються десь процесором.
Процесор не може надати всій 4 Гб оперативної пам’яті додатку, але він може надати йому 4 Гб адреси, використовуючи жорсткий диск як вторинний кеш (що на самому жорсткому диску є насправді)
Сторінки переміщуються в оперативну пам'ять і виходять із неї через її внутрішній механізм підкачки, але це не те саме, що файл сторінки. Пейджинг завжди відбувається….
Суть справді не така вже й складна. Протягом останніх 15-ти років багато кінцевих користувачів складали враження, що файл сторінки є якоюсь невід'ємною частиною Операційної системи, це не так. Це ніколи не було. Помилкове уявлення частково підживлюється такими корпораціями, як Intel та Microsoft.
Оперативна пам’ять - це швидкий запам'ятовуючий пристрій, жорсткий диск - більш повільний запам'ятовуючий пристрій, тому по суті оперативна пам'ять є кешем рівня 1, жорсткий диск - рівнем 2 (не враховуючи кеш процесора за цією аналогією). Обидва можуть отримати доступ до процесора.
Якщо процесору не вистачає оперативної пам’яті для зберігання потрібних йому сторінок, жорсткий диск може використовуватися як переповнення. Якщо оперативної пам’яті багато, то PF є зайвим.
До Core 2 процесори Intel мали 32-типінну шину DRAM і 32 регістри, що означає, що процесор мав доступ до 4 Гб оперативної пам’яті та 4 ГБ місця на жорсткому диску (pagefile). Це обмеження архітектурного обладнання, а не обмеження для Windows.
Загальна кількість доступних процесів становила 3,5 Гб, оскільки таблиця сторінок займає 512 Мб. Ось чому 3,5 Гб з'являється в Windows з процесором Intel (до Core 2). Додайте GPU, і ще менше доступно.
Xeon міг отримати доступ до загальної пам’яті 32 ГБ, 64 Гб фізичного простору з включеним жорстким диском (знову файл сторінки). ( Це ^ охоплює PAE, -ще додаються посилання ).
http://www.windowsdevcenter.com/pub/a/windows/2004/04/27/pagefile.html
3-е джерело скріншота:
Додаток бінарного інтерфейсу System V Додаток архітектури процесора AMD64 Версія 0.99.7
Я маю намір продовжувати вдосконалювати цю відповідь та додавати вихідний матеріал та відповідну інформацію. Я хотів би досягти балансу між недостатньою інформацією та занадто багато технічної інформації. Пропозиції вітаються. Будь ласка, не зволікайте лише тому, що це може бути написано не так добре.