Чи потрібно ще використовувати віртуальну пам'ять?


14

Я б подумав, що це вже запитували, але я не можу його знайти.

У який момент мені більше не потрібна віртуальна пам'ять? Маючи 4 ГБ оперативної пам’яті, я бачу, що комп'ютер рідко використовує будь-яке місце поблизу нього. На даний момент віртуальна пам'ять не є строго необхідною. Чи існує небезпека при її відключенні? Чи є функції, які я втрачу, якщо це зробити?


1
Увага: Драйверам надається лише обмежений об'єм пам'яті, який називається секціями пам'яті non-pagedта pagedпулом . Файл сторінки необхідний для того, коли цей розділ заповнюється, як геймер, я бачив гру, яка скаржиться на пам'ять підключеного пулу тільки тому, що в моїй системі 8 Гб був відключений файл сторінки. Висновок: Файли сторінок необхідні, вони запобігають виснаження підключеного пулу і фактично прискорюють роботу вашої системи.
Тамара Війсман

Відповіді:


9

Оскільки пам'ять вже не є надто рідким ресурсом на настільних ПК / ноутбуках, я сумніваюся, що більшість програм можуть виправдано обробляти умови поза пам'яттю, і замість цього вийде з ладу.
Отже: небезпечно? Так , якщо ваш 4 Гб витрачено якось і у вас немає файлу сторінки, програми можуть почати виходити з ладу.
І як показано на прикладі Зорана, згодом може бути важко визначити проблему.

У статті, на яку посилається Рам, також зазначено, що відключення заміни зазвичай не покращує швидкість і може зробити навпаки :

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


Мені доведеться викопати статтю на сайті MS, але MS каже, що ви завжди повинні мати файл сторінки. Навіть у системах з високою пам’яттю відсутність такої може змусити ваш апарат працювати повільніше.
Келтарі

10

Дивіться статтю Марка Русиновича про віртуальну пам’ять. Це має дати вам хороший вказівник щодо віртуальної пам’яті.

Ось корисний уривок із посилання

Тож як ти знаєш, скільки вимагає стягнення ваших навантажень? Можливо, ви помітили на знімках екрана, що Windows відстежує це число, і Process Explorer показує це: Peak Commit Charge. Для оптимального розміру файла підключення потрібно запустити всі запущені програми одночасно, завантажувати типові набори даних, а потім відзначати пік зарядки (або дивитись на це значення через проміжок часу, коли ви знаєте, що досягнуто максимального навантаження) . Встановіть для файлу підкачки мінімальним значення, що становить мінус кількість оперативної пам’яті у вашій системі (якщо значення негативне, виберіть мінімальний розмір, щоб дозволити тип дампу аварійного завершення, для якого ви налаштовані). Якщо ви хочете мати приміщення для дихання для потенційно великих вимог, встановіть максимум, щоб подвоїти це число.


+1 для довідки Марка Русиновича. Завжди чудове читання.
mrduclaw

3

Ця класична публікація на сервері ServerFault має деякі хороші моменти. Лише 4 Гб я б залишив файл сторінки в спокої, а місце, що зайняте на диску, у будь-якому випадку є незначним.


3

Я рекомендую залишити налаштування віртуальної пам'яті за замовчуванням. У мене є 8 ГБ оперативної пам’яті і відключила віртуальну пам’ять, думаючи, що я наберу швидкість (через відсутність заміни), але виявляється, що зробила мою систему менш стабільною (і я це робив на двох машинах, подібний результат). Я відчував один BSOD на тиждень приблизно на обох машинах. Я почав перевіряти вироблені мінідуми і з’ясував, що всі BSOD були викликані викликом до програми, що називається KiPageFault. Тому я спробував повернути налаштування віртуальної пам’яті до своїх стандартних параметрів, і звичайні BSOD зникли.

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


Спасибі. Добре чути реальні результати, а не лише припущення.
Стів Роу

0

Залежить від вашого навантаження. Я створив купу бездискових фронталів для веб-додатків. Вони завантажилися в мережу і виконали все необхідне в межах 8 ГБ оперативної пам’яті.

Я також використовував Windows (98, ймовірно) з 32 МБ і без файлу сторінок - звичайно, вам доведеться жити в цьому просторі пам'яті і обмежувати ваші програми, щоб відповідати ресурсам.

Ви хочете переконатися, що в кеш диска є додаткова оперативна пам’ять, інакше продуктивність може стати жахливою.

Здається, я згадую, що є деякі програми, які не працюватимуть без VM, але я поняття не маю


-2

Ну, Стів, цікаво, що ти повинен це запитати.

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

Тепер ви можете запитати, якщо VM марний і шкідливий, чому більшість сучасних операційних систем використовують саме його? Коротка відповідь на це питання полягає в тому, що люди, які вирішували використовувати VM чи ні в Microsoft, Apple і IBM, були ще дурнішими і недосвідченішими, ніж науковці, які винайшли VM і хотіли прийняти його на основі тих же, абсолютно невірних припущень, що академіки мали, коли їх винайшли. Ми могли б почати говорити про ці припущення та хибні уявлення, але, на жаль, якби їх було легко зрозуміти та описати, ми б не мали проблеми з ВМ в першу чергу.

Повертаємось до вас. На жаль, так само, як і вищезгадані тардногіни в Apple і Microsoft, у вас є власні помилки, а саме ідея, що ви можете вимкнути VM. Звичайно, ви не можете вимкнути це, що може перемогти всю мету накрутити вас, якщо ви можете просто вимкнути його. Коли люди роблять щось по-справжньому дурне, вони завжди переконуються, що це незворотно. Зрештою, якби кожен міг просто вимкнути VM, вони зробили б це, і це зробило б бозо, який створив його, виглядати досить дурним, чи не так? Вони запобігли цій можливості, зробивши її незмінною, на кшталт Microsoft зробила Internet Explorer незнімним.

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


Віртуальна пам’ять дозволяє дуже багато хороших речей. Якщо у вас не було віртуальної пам’яті, тоді вам доведеться мати достатню кількість оперативної пам’яті, щоб утримувати кожен байт коду та даних, які визначає кожен процес у вашій системі, незалежно від того, чи був він ніколи насправді посилався. Оскільки більшість програм витрачає 90% свого часу, використовуючи 10% свого коду та даних, це було б величезною тратою. Ви також втратите багато інших корисних речей, формат коментарів яких тут не дає мені можливості окреслити. Причина, по якій ми не відмовилися від віртуальної пам’яті, полягає в тому, що це все-таки справді дуже гарна ідея. Навіть у «практичних обчислювальних системах».
Джеймі Ханрахан

@RickBrant Ви схожі на ідіотських інженерів-електриків від Intel та IBM, які мені доводиться слухати ще в 1980-х роках, намагаючись пояснити, чому VM була гарною ідеєю. Я пам'ятаю ще коли IBM вийшов з OS / 2, який був першим мозком операційної системи, пошкодженим VM, змушений слухати їх, як вони пояснюють, чому це була така чудова ідея. Ну, слава богу, OS / 2 помер, але, на жаль, В.М. продовжував іти, як зомбі, тож ось 2017 рік, і я все ще слухаю цю нісенітницю. Я буду обміняти гроші на пончики, у яких ти не маєш ступеня CS, ти? Це частина жарту. 99% хлопців, які рекламують VM, не є програмістами
Тайлер Дюрден,

Фактично, я був подвійним спеціалістом, CS / EE, в одній з найкращих технічних шкіл на західному узбережжі. Сьогодні я здебільшого програміст, але взаємодію з типами обладнання. Тепер у вас є зухвалий спростування до того, що було б дуже марно постійно зберігати кожен останній байт коду та даних, яку програма визначає в оперативній пам'яті, потрібен він чи ні? Тому що віртуальна пам'ять цього уникає. Або ти збираєшся продовжувати особисті напади, які означають "ти повинен бути ідіот"?
Джеймі Ханрахан

О, і повторно "OS / 2, яка була першою мозок операційної системи, пошкодженої ВМ", гм, ні, не приблизно за два десятиліття. Можливо, перша широко використовувана ОС для ПК. (Але не перший для "персональних комп'ютерів".)
Джеймі Ханрахан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.