Що не так у відключенні файла сторінки Windows?


15

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

Чи дійсно мені потрібен файл сторінки * для швидкого збільшення типових ситуацій? Чому?

* Мені відомо, що звалища потребують файлу сторінки. Я ніколи не використовую звалища, але це не має значення.

Відповіді:


8

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

Якщо ваша ОС особливо погана в управлінні пам’яттю, файл з 6GiB пам’яті не повинен використовуватись. Це не означає, що він взагалі не побачить ніякої користі; IIRC MS Windows трохи божевільний, коли справа доходить до підключення речей, навіть коли є багато пам'яті. (Чому я ніколи не дізнаюся.)

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

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

Справа з мого власного досвіду. Windows XP, 4GiB, файл без сторінки. Перф був чудовий. Поки ми не почали наближатися до межі 4GiB. Тоді все пішло нанівець: додатки руйнуються, пункти меню відображатимуться лише частково (або зовсім не відображатись), кнопки нічого не робитимуть і т. Д. Я повернувся до файлу сторінки, хоча продуктивність при цьому була гіршою - загальна стабільність була просто краще і важливіше.

Зараз, можливо, ви не використовуєте жодних додатків або не працюєте в своїх додатках, які б підштовхували 6GiB, але я можу придумати декілька ситуацій, коли ви можете закритись: редагування відео, редагування фотографій, змішування звуку та виробництво тощо - по суті, все, де ви маєте справу з великою кількістю даних (або працюючи, або передаючи потоки). Коли ці дані перевищують ваші можливості пам’яті, шанси на те, що ваш додаток просто перетвориться на «пуф».


Отже, просто кажу (Так / Ні): чи правильно сказати, що якщо я ніколи не використовую більше 2 Гб оперативної пам’яті , я не побачу підвищення продуктивності ? Або ще є десь застереження, навіть з цією передумовою?
користувач541686

9
Ні, файл сторінки ніколи не покращує продуктивність. Це лише покращує стабільність . Пейджинг за визначенням - це операція на рівні диска, і операції на диску завжди повільніші, ніж операції на рівні оперативної пам'яті. І, ви, швидше за все, навіть з 6GiB (ніколи не перевищуючи 2GiB), що ви все ще будете відчувати деякі проблеми з продуктивністю, оскільки Windows все ще, розчаровує, перебирає невикористані процеси на диск. Хто б не думав, що це мудро, я хотів би, щоб вони «розійшлися!»
Керрі Шоттс

Добре. Може, це тому, що це те, що я хотів почути, я не знаю, але мені подобається ваша відповідь. : P Звучить досить розумно, дякую!
користувач541686

1
Неправда - файл сторінки МОЖЕ покращити продуктивність, оскільки місце невикористаних даних у свопі можна використовувати для кешування. Це спричинило для вас такий зворотний шлях.
петерх

1
Файл сторінки МОЖЕ підвищити продуктивність. Це збільшує оперативну пам’ять, доступну для всіх видів швидких кешів, покращуючи продуктивність запуску / завантаження / роботи програми. Без файлу сторінки ця дорога фізична оперативна пам’ять була б заповнена незмінним мотлохом.
Арк-кун

7

Ця стаття Марка Русиновича розповість про все, що ви хотіли знати про файл сторінки.

Я не знаю, чи "кеш" - це правильний термін, який потрібно використовувати стосовно того, що робить файл сторінки. Кеш - це швидко доступне тимчасове місце для зберігання даних. Операційна система «виводить з ладу» речі у файл сторінки, коли занадто багато суперечок для фізичної ОЗУ. Таким чином, це зупинка для переповнення оперативної пам’яті, щоб запобігти важким збоям програм через відсутність пам’яті. Але я вважаю, що Windows намагається помістити речі, до яких не було доступності, у файл сторінки (і Linux це теж може зробити), тому в цьому сенсі це кеш, але насправді не його основна функція.

У будь-якому випадку прочитайте статтю. Це дасть вам хороші вказівки щодо того, як встановити файл сторінки. Як говорить @Sandeep Bansal, може існувати епізодична гра, яка вимагає, щоб ви працювали в рамках "перевірки вимог" (але я не знаю жодної).

EDIT: Цей приклад допоможе вам зрозуміти роль файлу сторінки:

Скажімо, у вас є 512 Мб оперативної пам’яті. У вас відкрито ряд програм, серед яких мінімізований сам браузер споживає 250 МБ оперативної пам’яті, а загальне використання оперативної пам’яті всього, що працює в цей момент, становить 500 Мб.

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

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

Тепер ви можете бачити, як існують алгоритми, щоб передбачити те, що не може бути використане в даний момент, то операційна система може «попередньо переглядати сторінки», які, на його думку, не будуть використані відразу. Таким чином, це обліковий запис для Windows, використовуючи файл сторінки, де він існує, навіть якщо у нього є достатня кількість оперативної пам’яті. Він намагається зробити якомога більше оперативної пам’яті. Windows - це як Linux, де вільна оперативна пам'ять діє як кеш диска, тому якщо правильний акт буде балансовано, це може сприяти загальній продуктивності. Це все є частиною дизайну ОС, і чому потрібно 10 років, щоб отримати хорошу операційну систему з тисяч програмістів.

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


@ultrasawblade: Я досі не розумію: Сенс будь-якого "кешу" - це запобігання потрапляння на диск . Якщо ви все-таки їдете туди, чому б просто не захопити файл звідки б він не знаходився? Який сенс файлу сторінки?
користувач541686

@ultrasawblade: Крім того , в відношенні статті: Він говорить, in general having [a page file] will mean more usable memory being available to the system. Чекати, що? Більше доступної пам’яті? Не вистачає> 3 Гб постійного невикористаного простору оперативної пам’яті? (Плутати, оскільки я рідко використовую навіть 2 Гб.)
користувач541686

2
Файли сторінок НЕ кешуються! Якщо ваш баран заповнюється, і ви все ще хочете переконатися, що він все ще виглядає, як у вашій системі є більше доступного оперативної пам’яті, тоді він почне копіювати дані з операційного банда на ваш диск (з процесів, які здаються сонними), тому у вас все ще є доступний баран для ваші нові процеси!
пожирав елізіум

2
@ultrasawblade: Заперечення, які я маю проти вашої редакції, полягає в тому, що ваш приклад визначає 97% використання оперативної пам’яті (500/512), тоді як мій приклад вказує на 33% використання оперативної пам’яті (2 ГБ з 6). Я не питав про те, що станеться, якщо я наближуюся до межі; Я вже добре знаю, які проблеми викликають. Я запитував про те, що станеться, якщо у вас ще досить довгий шлях, де не трапиться (чи не повинно?) Трахання або щось подібне. Якщо ви можете зробити такий же аргумент для мого випадку (6 Гб оперативної пам’яті та 2 ГБ), це було б набагато краще; інакше це просто не стосується мого питання.
користувач541686

3
+1 за посиланням Русинович. Там відповідь. Якщо ви хочете відмовитись від механізму безпеки, щоб запобігти можливим збоям, це ваш переслідуючий ефект. Windows буде функціонувати просто без файлу сторінки, якщо він не вирішить цього робити. ;)
Кара Марфія

2

Файл сторінки не тільки для того, щоб зберігати звалища, а це, по суті, не створено для цього.

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

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

Немає шкоди у створенні файлу сторінок 500 Мб, щоб уникнути проблем, якщо певний процес потребує цього.


Але моє запитання: скажімо, я ніколи не використовую більше 2 ГБ оперативної пам’яті. Чи дозволяє активізація сторінки сторінки все одно давати мені прискорення ? ("Це не боляче" відрізняється від "Так, це дає вам користь".)
user541686

Із 6 Гб оперативної пам’яті ви нічого не помітите, навіть незважаючи на те, що доступна оперативна пам’ять, Pagefile завжди буде використовуватися для інших речей. У мене є 4 Гб, ніколи насправді не виходжу за це. Але у мене є 1GB-файл сторінки просто на випадок, як у щоденних ПК зараз є 500 ГБ + жорсткий диск, тому щонайменше 500-1000 МБ не буде втратою
Sandeep Bansal,

@Sandeep: Гм ... які саме ті "інші речі"? Сама причина, коли я не вмикаю файл сторінки, полягає в тому, що я не розумію, чому Windows використовує жорсткий диск, коли стільки вільної оперативної пам’яті, тому мені цікаво, що це за «інші речі».
користувач541686

Це те саме, що і Linux, чому Linux використовує своп-простір, коли у нього є оперативна пам’ять. У файлі сторінки зберігаються файли, які не використовувались протягом певного часу від оперативної пам'яті.
Сандіп Бансал

@Sandeep: Я поняття не маю, чому Linux це робить, однакова для мене різниця. Який сенс зберігати файли у файлі сторінки? Якщо вони не в оперативній пам’яті, чому б просто не прочитати їх там, де вони фактично знаходяться на диску?
користувач541686

1

Перший крок - зрозуміти, що таке Кеш, а точніше, для чого використовуються різні кеші.
Процесор має невеликий внутрішній кеш, який дозволяє йому зберігати результати ОП, штати прапорців та обчислені адреси. Що стосується подвійного ядра, я вважаю, що внутрішній кеш - приблизно 1 Мб. Це надзвичайно швидко, доступний лише внутрішнім процесором, і найбільше впливає тепло в розігнаному процесорі.

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

Файл сторінки справді є кешем, оскільки він зберігає дані, які можуть бути, а можуть і не бути в пам'яті. O / S може використовувати файл підкачки для різних завдань, одним з яких є збереження поточного стану файлу даних, який ще не був зафіксований на диску. Якщо файл сторінки не існує, це функціонування має надавати сторонній програмі внутрішньо. Проблема з цим сценарієм полягає в тому, що багато програм не ведуть себе добре, коли справа стосується вивезення сміття, і у вас залишаються помилкові файли .temp на диску. Ці залишки не є частиною інсталяційного маніфесту і можуть перешкоджати процедурі видалення, а також знижують швидкість доступу до диска.

Моя думка, що файл із свопом, як правило, добре мати. Дійсно, якщо у вашій системі є багатонаселене з Рамом і воно присвячене одному конкретному завданню, і ця програма піклується про всі ці речі, тоді файл swap може не знадобитися. Одним із прикладів може бути аркадна відеоігра, яка працює на платформі Windows; вони, як правило, встановлюються лише з драйверами, необхідними для присутніх пристроїв, і, швидше за все, вони не страждають від драйверів. Здебільшого, більшість додатків не береться до всіх можливих проблем, які можуть виникнути, особливо до тих, які включають вплив інших програм сторонніх виробників та суперечки драйверів.

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

Стівен Мальм, MCP.


"Якщо файл сторінки не існує, це функціонування має надавати сторонній програмі внутрішньо." -> Не зовсім впевнений, що ти маєш на увазі; програми насправді не цікавлять, є там файл сторінки чи ні.
користувач541686

0

Особистий досвід

Зараз у мого ноутбука з 8 ГБ оперативної пам’яті є проблеми, що перешкоджають створенню / використанню файла сторінки. Моє життя - пекло. Я постійно отримую підказки "Зниження пам'яті", збої програм і т. Д. Використання 3-х програм, які їдять по 1-1,5 ГБ кожна (скажімо, веб-браузер, Visual studio зі спеціальними плагінами і т. Д.) Ходить по тонкому льоду.

Ще один аргумент

Використання даних з фізичного кешу оперативної пам'яті дуже швидко. Чим більше "вільної" фізичної оперативної пам'яті, тим більший кеш-пам'ять, яку він може вмістити. Чим більше сплячих даних ОС може переходити від фізичної оперативної пам’яті до файлу сторінки, тим більше фізичної ОЗУ звільняється для кеш-даних, які часто отримують доступ.

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

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