Чи слід відключити файл swap, якщо у мене багато оперативної пам’яті, або слід перенести його на віртуальний диск RAM?


97

Уявіть, у мене є тони оперативної пам'яті. Скажімо, 64 Гб. Це навіть для ігрових ПК. Тепер розташування файлу сторінки в Windows за замовчуванням знаходиться на головному дисководі ОС, будь то HDD або SSD, які в цілому швидші, але все ж не такі швидкі, як оперативна пам'ять.

Щось мені підказує, що відключення файлу сторінки на жорсткому диску або створення віртуального диска оперативної пам’яті та надання файлу сторінки там, може змусити Windows перемістити всю свою віртуальну пам’ять в оперативну пам’ять і таким чином збільшити продуктивність системи, але я не дуже знаю в цьому області, так що це може бути зовсім не правдою.

Я спробував і те, і інше, але не зміг проаналізувати результати, щоб дійти певного висновку з моїм рівнем знань у пам'яті.

Це би спрацювало? Якщо ні, то чому?


57
Наявність файлу підкачки на диску RAM ніколи нічого не виконує. Ви забираєте певний об'єм доступної пам'яті і додаєте певний обсяг віртуальної пам'яті. Нульова сума. Просто у вас немає файлу підкачки.
usr

14
Це має сенс робити це на Linux у деяких випадках, коли оперативний диск, на якому розміщений файл swap, насправді стискається. Дивіться: en.wikipedia.org/wiki/Zram . Однак я не думаю, що Windows має таку функцію, яка доступна для неї.
Метт H

2
Відповідь - так, але невіруючих людей багато.
Мехрдад

14
@ user367257 створити операційний диск для зберігання файлу вашої сторінки - це як позичити вашому другу 10 фунтів стерлінгів, щоб у нього було достатньо грошей, щоб він міг позичити у нього 10 фунтів стерлінгів. Це може бути технічно можливо, але все, що ви зробили, - це зайве ускладнення подорожі нікуди.
Роб Моїр

2
Я б (і це робив) виключив лише для SSD, оскільки ви отримуєте лише стільки записів (навіть якщо їх зараз багато), з 6 Гб. Це добре працює.
Ри-

Відповіді:


134

Незалежно від обсягу оперативної пам’яті, ви хочете, щоб система змогла ефективно використовувати її. Не маючи файлу підкачки, змушує операційну систему неефективно використовувати ОЗУ з двох причин. По-перше, він не може зробити сторінки видаленими, навіть якщо вони не були доступні або змінені протягом дуже тривалого часу, що змушує кеш-пам'ять диска бути меншою. По-друге, він повинен зарезервувати фізичну оперативну пам’ять для резервного розміщення виділень, які навряд чи коли-небудь вимагатимуть її (наприклад, приватне, модифіковане відображення файлів), що призводить до випадків, коли у вас може бути багато вільної фізичної оперативної пам’яті, але все ж у розподілах відмовляються уникати перевиконання.

Розглянемо, наприклад, якщо програма робить записувану приватну карту пам'яті для файлу 4 Гб. ОС має зарезервувати 4 Гб оперативної пам’яті для цього відображення, оскільки програма могла б змінити кожен байт і немає місця, окрім оперативної пам’яті, щоб зберігати його. Тож негайно 4 Гб оперативної пам’яті в основному витрачається (це може використовуватися для кешування чистих сторінок диска, але це вже про це).

Вам потрібно мати файл сторінки, якщо ви хочете отримати максимальну користь від оперативної пам’яті, навіть якщо вона ніколи не використовується. Він діє як страховий поліс, який дозволяє операційній системі фактично використовувати оперативну пам’ять, яку він має, а не потребує резервування для можливостей, які надзвичайно малоймовірні.

Люди, які сконструювали поведінку вашої операційної системи, не дурні. Наявність файлу підкачки дає операційній системі більше варіантів, і це не зробить поганих.

Немає сенсу намагатися помістити файл підкачки в оперативну пам'ять. І якщо у вас багато оперативної пам’яті, файл підкачки, навряд чи він буде використаний (він просто повинен бути там), тому це не має особливого значення, наскільки швидко працює пристрій.


9
Я суперечив протидії. Але до вашого останнього коментаря: я запускаю 2 різні машини без заміни. Це абсолютно чудово, якщо ви точно знаєте, як буде використовуватися машина.
spudone

6
Я підозрюю, що файл сторінки в ramdrive почався як "культовий шлях" для того, що якесь програмне забезпечення відмовиться запускати, якщо виявить, що у ньому немає файлу сторінки. (Мені сказали, що графічні / відеоінструменти Adobe роблять це.)
Ден Нілі

8
@DavidSchwartz Інформація, яку ви надаєте, є технічно правильною, і це корисна інформація. Але висновок про те, що ви прийшли до того, що ви завжди повинні мати файл сторінки, незалежно від того, скільки у вас є оперативної пам’яті, є невірним, і я відстоюю свою заяву, що це не повинно бути прийнятою відповіддю.
Джейсон Уілер

5
Мені просто не подобається чути, що "файли сторінок є магічними, тому не вимикайте їх або вам буде шкода", коли я знаю, що за багатьох загальних обставин ви можете їх вимкнути, і безпечно побачите покращення продуктивності, оскільки ви більше не збільшують введення / виведення диска на 100% або вище, коли MMS хоче щось зробити. Все, що я хочу почути від людей з іншого боку цієї дискусії, - це "так, існують обставини, коли ви можете вимкнути їх та зменшити введення / виведення диска, що може призвести до удару". Я не кажу, що файли сторінок завжди погані, можливо, ви можете сказати, що вони не завжди потрібні.
Фред Гамільтон

5
Я зрозумів, що мене спіткає у всьому цьому, це те, що одна сторона, здається, говорить "файли сторінок ніколи не роблять нічого доброго", а інша сторона - "файли сторінок жахливі", і тоді люди закріплюються на тій чи іншій стороні. "Правда" полягає в тому, що в деяких випадках вони дуже корисні і навіть запобігають аварійним ситуаціям, а в інших випадках вони не потрібні і можуть насправді призвести до зниження продуктивності. Я задоволений цим, як і моєю остаточною заявою. Живіть довго і процвітайте, @David Schwartz.
Фред Гамільтон

32

Ви абсолютно правильні у своїх припущеннях.

Алгоритми управління пам’яттю дуже складні і жодним чином не досконалі. Таким чином, заміна відбувається навіть тоді, коли є достатня кількість запасної оперативної пам’яті. У деяких системах, наприклад Linux, ви можете керувати свопістю , в інших - не. Обмінюючись даними, коли оперативної пам’яті ще багато, система по-своєму готується до ситуації, коли у неї може не вистачити оперативної пам’яті.

Таким чином, відключення функцій заміни може призвести до підвищення продуктивності, оскільки ви будете використовувати лише оперативну пам’ять, яка швидша, як ви вже говорили.

Варто врахувати одне (і ви вже це згадали) - вам потрібно мати достатню кількість оперативної пам’яті, щоб вмістити всі програми, які ви виконуєте, інакше ви ризикуєте втратити пам’ять . У цьому випадку продуктивність знизиться, деякі процеси можуть бути припинені ОС, і система може зазнати збоїв / заморожування. (детальніше про це читайте тут )

На деяких машинах, особливо на тих, які зберігають файл swap на жорсткому диску не SSD, ефект від вимкнення заміни дуже помітний. На інших це не так очевидно. Але навіть якщо ви не отримаєте очевидного поліпшення, подумайте про це по-іншому, відключивши заміну, ви заощадите собі деякий диск на вашому SSD.

Відключивши заміну, ви також не дасте алгоритмам пам'яті робити зайві операції - переміщуючи дані з оперативної пам’яті в обмін і навпаки - у випадку SSD це запобіжить надмірний знос. І в будь-якому випадку це підвищить продуктивність, усунувши зайві операції.

Також читайте:


2
@ChrisH Ви також, ймовірно, не зможете завантажити базу даних sql в текстовий процесор, оскільки вони працюють повністю в оперативній пам’яті :-)
TylerH

9
Ця відповідь невірна і містить багато дезінформації. Але простий спосіб зрозуміти, чому це не так - це люди, які розробили пам'ять вашої операційної системи, мабуть, одні з найрозумніших людей у ​​світі. Чому вони б спроектували таку систему, яка надала б їй більше можливостей (можливість заміни, якщо, і лише тоді, якщо вона вважає, що це найкраще), погіршила б її ефективність? Тільки ідіот створив би таку систему.
Девід Шварц

17
@DavidSchwartz, я не бачу, як той факт, що люди, які розробили алгоритми управління пам’яттю, розумні, має якесь значення для оригінальної теми. ОП запитала, чи може відключення заміни може покращити продуктивність, і я пояснив, що це може, за певних умов, та призвести до проблем за інших умов. Відповідаючи на ваше запитання, чому (?) - можу сказати, адже алгоритми не є ідеальними, і користувач повинен їх точно налаштувати. Ось чому в Linux існує параметр zamppiness, і тому відключення заміни взагалі можливо.
Арт Гертнер

11
@smc У випадку використання ОП нічого незвичайного. Думка про те, що операційні системи не налаштовані належним чином на випадкові випадки звичайного використання, є повною дурницею. (Дивіться мою відповідь для отримання додаткової інформації про те, чому ви не хочете цього робити.)
David Schwartz

4
Припущення, що даний алгоритм завжди прийме бажане рішення для користувача, є абсолютно неправдивим. Вони приймають рішення на основі заданих параметрів, які програмісти вирішили важливими. Це цілком може суперечити тому, що потрібно, щоб користувач стався.
Anaksunaman

14

Чи можете ви безпечно відключити файл сторінки?

Якщо у вас не вистачає вільної пам’яті, включаючи віртуальну пам’ять, система не може продовжувати гарантувати детерміноване виконання і закінчується. Перш ніж це станеться, операційна система буде виконувати різні інші речі, такі як вбивство програм, які використовують занадто багато пам'яті. Я хочу сказати, що пам'ять завжди обмежена, і кожна ОС може впоратися з цим. Тому обмеження загальної доступної пам’яті до 64 Гб не зашкодить Windows - багато систем не можуть перевищувати 8 ГБ навіть із файлом сторінки, тому що з 1 або 2 ГБ оперативної пам’яті файл сторінки зазвичай набагато менше 6 або 7 ГБ. Слід зазначити, що доки у вас надмірна кількість невикористаної оперативної пам’яті, накладні витрати на ОС, що підтримують файл сторінки, не підлягають вимірюванню.

Чи є сенс ставити файл сторінки на рамбіск?

Для збільшення доступної пам’яті більшість, якщо не всі просунуті операційні системи використовують якийсь файл swap, де вони займають деяку кількість пам’яті, яка знаходиться в оперативній пам’яті і не була доступна деякий час, запишіть пам’ять на жорсткий диск (swapfile aka pagefile ) та видаліть пам'ять з оперативної пам'яті, щоб було доступно більше швидкої пам'яті. Свопфіл використовується для розширення максимального розміру пам'яті понад розмір доступної оперативної пам’яті.

Тому використання ramdisk (який зменшує доступну пам'ять на розмір ramdisk) для розміщення swapfile (що збільшує наявну пам'ять на розмір swapfile) буде працювати, але це не матиме великого сенсу. Він не запропонує більше пам’яті, ніж вимкнення файлу сторінки, але все-таки система вимагатиме запускати алгоритми підкачки.


Але у випадку, якщо файл сторінки знаходиться на віртуальному накопичувачі оперативної пам’яті, час, який використовується для копіювання деяких мегабайт з оперативної пам’яті на віртуальний жорсткий диск або назад, буде скорочено. Якщо файл сторінки повністю вимкнено, на це взагалі не повинно витрачатися часу. Це правильно?
user1306322

2
Правильно. Копіювання байтів з оперативної пам’яті на файл сторінки, який знаходиться на ramdisk, є найшвидшим можливим файлом сторінки. Але зовсім не копіювати розумніше.
Пітер

2
Swapfiles є компенсувати відсутність оперативної пам’яті. Якщо оперативної пам’яті достатньо, компенсувати її не потрібно. Ваша ОС все одно буде використовувати swapfile, тому в цьому випадку швидше вимкнути його.

6
@Mast Це грубе спрощення. Також є можливість замінити файли, щоб дозволити ефективно використовувати оперативну пам'ять.
Девід Шварц

1
@DavidSchwartz Можливо, але саме це пояснення пояснило мені це найкраще. У більшості випадків невелика кількість swapfile завжди є доброзичливою, ніж жоден свопфіл. Однак у мене немає ресурсів, щоб підкріпити це.

8

Щоб повторити те, що вже говорили інші, переміщення swap на прямий диск оперативної пам’яті є досить безглуздим (у найпоширенішому випадку див. Нижче). Він досягає того, що в певний момент, коли система голодує для вільної пам'яті, деякі дані переміщуються з оперативної пам'яті в оперативну пам'ять досить неефективно.

Здійснюючи заміну на жорсткому диску / SSD, операційна система може очистити кілька повністю невикористаних сторінок оперативної пам’яті та використати звільнений простір, наприклад, кеш файлів або інші системні буфери. Ви можете не усвідомлювати, що система виділяє менше цих буферів оперативної пам’яті, оскільки у вас немає вільної пам’яті без файлу сторінки; тому фактично ви можете зупинити свою ефективність, відключивши своп.

Однак стислий диск RAM як привід swap, привід "ZSWAP", може бути корисним у кращих випадках (де вам може знадобитися лише декілька додаткових оперативної пам’яті MB, щоб уникнути заміни на жорсткий диск), покращивши ефективність простору сегмента оперативної пам’яті на певною мірою.


1
+1 для згадування ZSWAP. Він зазвичай використовується на деяких мобільних платформах, а також використовується в OS X 10.9 (хоча крім додатка).
James_pic

Зауважте, що "стиснутий диск RAM як пристрій змін" все ще має проблему, що він не робить нічого для всіх "файлів підкачки", окрім фактичного файлу сторінки.
Джеймі Ханрахан

5

Якщо у вас немає сторінки-сторінки, то в разі BSOD (аварії) Windows не зможе написати файл дампа для краху. Це означає, що ви не зможете проаналізувати проблему за допомогою відповідних інструментів.

Наявність файлу сторінки в оперативній пам’яті є марним, оскільки вона може бути втрачена під час аварії.

Для отримання додаткової інформації дивіться статтю Майкрософт " Розуміння файлів дампів про збої" .


4

Для Windows з вуст коней:

Деякі відчувають відсутність файлу підкачки приводить до кращої продуктивності, але в цілому наявність файлу підкачки означає, що Windows може записувати сторінки в модифікований список (які представляють сторінки, до яких не можна отримати активний доступ, але не були збережені на диску). файл підкачки, таким чином робить цю пам'ять доступною для більш корисних цілей (процесів або кеш-файлів). Тож, хоча можуть бути деякі навантаження, які працюють краще без файлу підкачки, загалом наявність однієї означатиме доступність більшої кількості пам'яті *, доступної для системи (не майте на увазі, що Windows не зможе писати дамп в аварії ядра без розміру файлу підкачки досить великий, щоб утримувати їх).

https://blogs.technet.microsoft.com/markrussinovich/2008/11/17/pushing-the-limits-of-windows-virtual-memory/

  • зручна пам'ять - тому, хоча для цього рекомендується мати віртуальну пам’ять, це також говорить про те, що вам потрібно дійсно велику кількість оперативної пам’яті, щоб переконатися, що ви не матимете файлу сторінки / віртуальної пам’яті. У мене є 4 Гб оперативної пам’яті 128 Гб SSD без файлу сторінки, але я використовую його для веб-перегляду та введення текстових документів.

2
З моїх особистих уроків, які я вивчив, і щось, що я проповідую всім новим працівникам: Є лише 2 правила. № 1: Ніколи не довіряйте Microsoft. # 2 .. ви не слухали правило 1, тому немає правила 2.
Нік

3

Не вимикайте файл swap. Це не лише тоді, коли у вас не вистачає пам'яті. Немає прямого підвищення продуктивності при відключенні , Windows читає з нього лише тоді, коли це потрібно, він пише йому весь час, щоб він був готовий, коли це потрібно.

Ви можете зменшити його до приблизно 2 / 3р розміру пам'яті, якщо у вас більше 4 Гб, оскільки він зберігає зображення в пам'яті, стиснене. Ви можете розмістити його на повільному жорсткому диску, до якого не мають доступу інші важкі диски, якщо у вас немає місця на SSD. Але вигідно мати його десь.

Дивіться цю відповідь для отримання додаткової інформації про те, чому. https://superuser.com/a/286476/4236


3

Теоретично розміщувати файл сторінки в оперативній пам’яті взагалі не має сенсу, тому що ви просто вичерпуєте те, що ви нібито отримуєте, а Windows будується на припущенні, що файл сторінки не буде використовуватися для таких цілей.

На практиці, однак, недосконалий дизайн та філософія можуть перетворити його на навіть ядро ​​Windows, а управління пам'яттю Microsoft не обов'язково є ідеальним. Багато хто виявив, що розміщення файлу сторінки в Ramdisk дійсно призводить до підвищення продуктивності , якщо у вас є пристойний об'єм пам'яті.

Я склав публікацію, в якій відображається колекція таких користувачів з одного потоку форуму, які виявили, що, незважаючи на наявність великої кількості оперативної пам’яті безкоштовно, файл сторінки все ще використовується:

http://www.overclock.net/t/1193401/why-it-is-bad-to-store-the-page-file-on-a-ram-disk/290#post_23508589


Дякуємо, що склали цей список. Це повинно допомогти викласти деякі докази того, що теорія та практика в цьому питанні відрізняються. Virtual memory − A paging file is an area on the hard disk that Windows uses as if it were RAM.Так, ніби: p
user1306322

цей висновок є хибним. той факт, що ОС записує речі у файл сторінки, навіть незважаючи на те, що в ній є "величезна кількість оперативної пам'яті", нічого не підтверджує "хибний дизайн та філософія". Це означає, що у вас недостатньо інформації, щоб правильно оцінити рішення ОС. Для початку розглянемо випадок, коли існує багато модифікованих сторінок. Вони записуються у файл сторінки та переміщуються до списку очікування - тепер вони є частиною "доступного". Ви розумієте? Оперативна пам’ять доступна, оскільки її вміст записаний у файл сторінки!
Джеймі Ханрахан

@JamieHanrahan: Це не пояснює, чому люди все ще мають проблеми, незважаючи на те, що рідко використовують більше частки ОЗУ. Коментарі в цій темі включають: "Я ніколи не використовував більше половини його", "Використання файлів сторінки становить приблизно 2,7 Гб, де використання оперативної пам'яті становить 3,23 ГБ від 16 ГБ", "У мене було різке підвищення продуктивності за допомогою Illustrator, коли Я створив і перемістив свій файл сторінки в RAMDisk ".
Dan W

Більшість із цих коментарів пояснюється слабкою інформацією. Проблеми з продуктивністю навряд чи будуть вирішені, зберігаючи в оперативній пам’яті інформацію, до якої не часто звертаються. Файл сторінки - не єдиний файл, що бере участь у підкачці; Є сотні інших, тому навряд чи те, що впливає лише на файл сторінки (і забирає ГБ оперативної пам’яті далеко від решти системи, тим самим збільшуючи швидкість сторінки за замовчуванням), матиме будь-який «драматичний» ефект. Такі звіти, як правило, не підтримуються при правильному контрольованих тестах. Ви можете знайти анекдоти, які б підтримували майже будь-яку віру; Я вважаю їх непереконливими.
Джеймі Ханрахан

Зокрема, претензія "файл сторінки використовується" вимагає підтвердження. Просто наявність ГБ матеріалів у файлі сторінки не підтверджує, що файл сторінки використовується таким чином, що ставить його на критичний шлях до продуктивності. Щоб оцінити це, виділіть файл сторінки на розділі самостійно - або, принаймні, той, який активно не використовується ні для чого іншого - і тоді ви можете використовувати PerfMon на цьому "логічному диску" для моніторингу його швидкості вводу-виводу. Якщо файл сторінки читається не часто, то не має значення, скільки написано на ньому!
Джеймі Ханрахан

2

Перетворити ОС, яка була розроблена в основному, не використовувати swap - це набагато складніше, ніж це звучить.

Сучасні Mac мають розділ відновлення - частина основного накопичувача зі знятою ОС, яка може відремонтувати або відновити основну систему. У дні інсталятора DVD вони запускали користувальницький процес, тепер система створює RAMdisk для swap-розділу, оскільки інсталятор не може гарантувати наявність робочого місця на диску. ОС включає в себе необхідні рамки для запуску включеного програмного забезпечення, що є ідентичним утилітам, доступним після встановлення. Набагато менше роботи для всіх.

Обмеження системи однією програмою одночасно означає, що рампміс-своп в основному ніколи не використовується, але ОС очікує, що вона буде там.


2

Якщо у вас достатньо пам’яті, відповідь буде так, ви можете вимкнути своп. Swap був створений для подолання обмежень оперативної пам’яті та підвищення ефективності її використання.

Питання зараз - на скільки оперативної пам’яті вистачає оперативної пам’яті? Універсальної відповіді на це немає, і від природи системи залишаються на пам'яті. Тому, і якщо ви не працюєте в дуже специфічному і контрольованому середовищі, не вимикайте своп.

Будь-який інший тип трюків, як розміщення swap на оперативній пам’яті, просто створить додатковий рівень складності та витратить пам’ять, яку в іншому випадку можна було б використовувати безпосередньо.


2

У моїй системі є 24 ГБ оперативної пам’яті, тому я відключив файл сторінки, щоб запобігти зносу на своєму SSD, не маючи жодних проблем. Нещодавно я створив диск оперативної пам’яті, використовуючи 4 ГБ моєї пам’яті, щоб зберігати файли кешу Google Chrome, просто щоб побачити, чи підвищить це ефективність онлайн-ігор Flash Player та загального веб-серфінгу. Я побачив помітне підвищення продуктивності цього експерименту. Оскільки у мене на диску RAM було доступно більше місця, я ввімкнув файл сторінки і встановив як мінімальний, так і максимальний розмір 1 ГБ, і перемістив його на диск оперативної пам’яті. Хоча, я не можу сказати, що було якесь підвищення продуктивності, моя система, здається, працює стабільніше.


Вам буде набагато краще просто поставити файл сторінки на свій SSD. Windows не використовуватиме його, якщо цього не потрібно. Поміщення файлу сторінки на RAMdisk - це смішно. Так, помилки сторінки в цьому "файлі" будуть усунені швидше, ніж якби вони були на реальному диску, але, призначивши в першу чергу оперативну пам'ять RAMdisk, ви збільшуєте кількість помилок сторінки. Це як позичати гроші у себе, стягувати з себе відсотки та викидати "відсотки". Це навіть не помиляється.
Джеймі Ханрахан

1

Переміщення файлу сторінки в оперативну пам’ять - це смішне поняття. Просто вимкніть його та більше оперативної пам'яті. :)

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

Я маю намір продовжувати вдосконалювати цю відповідь та додавати вихідний матеріал та відповідну інформацію. Я хотів би досягти балансу між недостатньою інформацією та занадто багато технічної інформації. Пропозиції вітаються. Будь ласка, не зволікайте лише тому, що це може бути написано не так добре.


Коментарі не для розширеного обговорення; ця розмова переміщена до чату .
DavidPostill
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.