Відповіді:
Версія TL; DR: Нехай Windows обробляє налаштування вашої пам’яті / сторінки. Люди в МС витратили набагато більше годин на роздуми над цими питаннями, ніж більшість із нас систематиків.
Багато людей, здається, припускають, що Windows запитує дані у файл сторінки на вимогу. EG: щось хоче багато пам'яті, і не вистачає оперативної пам’яті, щоб заповнити потребу, тому Windows починає шалено записувати дані з оперативної пам’яті на диск в цю останню хвилину, щоб вона могла звільнити оперативну пам’ять для нових вимог.
Це неправильно. Під капотом йде більше. Взагалі кажучи, Windows підтримує резервну копію , це означає, що вона хоче бачити все, що є в пам'яті, також десь на диску. Тепер, коли щось приходить і вимагає багато пам'яті, Windows може очистити оперативну пам’ять дуже швидко, тому що ці дані вже є на диску, готові до того, щоб перезавантажитись в оперативну пам'ять, якщо вона вимагається. Тож можна сказати, що значна частина того, що є у файлі сторінки, також є в оперативній пам'яті; дані були попередньо розміщені у файлі сторінок, щоб прискорити нові потреби в розподілі пам'яті.
Опис конкретних механізмів, що задіяні, займе багато сторінок (див. Розділ 7 внутрішніх справ Windows , і зауважте, що незабаром з’явиться нове видання ), але слід зазначити кілька приємних речей. По-перше, велика частина того, що є в оперативній пам’яті, по суті вже є на диску - програмний код, отриманий з виконуваного файлу або DLL, наприклад. Тому це не потрібно записувати у файл сторінки; Windows може просто відслідковувати, звідки були отримані біти. По-друге, Windows відслідковує, які дані в оперативній пам’яті найчастіше використовуються, і таким чином очищає від оперативної пам’яті ті дані, які пройшли найдовше без доступу до них.
Видалення файлу сторінки повністю може призвести до більшого обертання диска. Уявіть простий сценарій, коли деякий додаток запускається і вимагає 80% наявної оперативної пам’яті. Це призведе до витіснення поточного виконуваного коду з оперативної пам'яті - можливо, навіть коду ОС. Тепер кожного разу, коли іншим додаткам - або самій ОС (!!) потрібен доступ до цих даних, ОС повинна розміщувати їх на сторінці з резервного зберігання на диску, що призводить до значного удару. Оскільки без файлу сторінок, який служить резервним сховищем для перехідних даних, єдине, що може бути піддано підключення до сторінки, - це виконувані файли та DLL-файли, які мали б почати зберігати резервні файли.
Звичайно, існує безліч сценаріїв використання ресурсів. Не виключено, що у вас є один із сценаріїв, згідно з яким не було б негативних наслідків від видалення файлів сторінки, але це меншість. У більшості випадків видалення або зменшення файлу сторінок призведе до зниження продуктивності за найвищих сценаріїв використання ресурсів.
Деякі посилання:
dmo відзначив нещодавню публікацію Еріка Ліпперта, яка допомагає зрозуміти віртуальну пам'ять (хоча вона менш пов'язана з питанням). Я викладаю це, тому що я підозрюю, що деякі люди не прокручуватимуть інших відповідей - але якщо ви вважаєте це цінним, ви зобов'язані dmo голосувати, тому використовуйте посилання, щоб потрапити туди!
Як я бачу з інших відповідей, я єдиний, хто відключив файл сторінки і ніколи не шкодував про це. Чудово :-)
Як вдома, так і на роботі я маю Vista 64-бітну з 8 ГБ оперативної пам’яті. У обох файлів сторінки вимкнено. На роботі для мене немає нічого незвичайного, коли у вас є кілька екземплярів Visual Studio 2008, Virtual PC з Windows XP, 2 екземпляри SQL Server та Internet Explorer 8 з великою кількістю вкладок, які працюють разом. Я рідко досягаю 80% пам'яті.
Я також використовую гібридний сон щодня (сплячка зі сном) без проблем.
Я почав експериментувати з цим, коли у мене був Windows XP з 2 ГБ оперативної пам’яті, і я дійсно побачив різницю. Класичним прикладом було те, коли піктограми на панелі керування перестали показуватись одна за одною, але все відразу. Також різко збільшився час запуску Firefox / Thunderbird. Все почало працювати відразу після того, як я щось натиснув. На жаль, 2 Гб було занадто мало для використання моїх програм (Visual Studio 2008, Virtual PC та SQL Server), тому я ввімкнув його назад.
Але зараз з 8 Гб я ніколи не хочу повертатися назад і вмикати файл сторінки.
Для тих, хто говорить про крайні випадки, візьміть цей з мого часу Windows XP.
Коли ви намагаєтеся завантажити велику зведену таблицю в Excel із запиту SQL, Excel 2000 досить швидко збільшує використання пам'яті.
Якщо у вас відключений файл сторінки - ви зачекаєте трохи, і тоді Excel підірветься, і система очистить всю пам'ять після нього.
Якщо у вас включений файл сторінки - ви зачекаєте деякий час, і коли помітите, що щось не так, ви майже нічого не можете зробити зі своєю системою. Ваш жорсткий диск працює як пекло, і навіть якщо вам якимось чином вдасться запустити диспетчер завдань (після кількох хвилин очікування) і вбити, excel.exe
ви повинні зачекати хвилину або близько того, поки система не завантажить все назад із файла сторінки.
Як я бачив пізніше, Excel 2003 обробляє ту саму зведену таблицю без проблем із відключеним файлом сторінки - тому це не була "занадто великою проблемою набору даних".
Тож, на мою думку, відключений файл сторінки навіть захищає вас іноді від погано написаних програм.
Незабаром: якщо вам відомо про використання вашої пам’яті - можете сміливо її відключити.
Редагувати: Я просто хочу додати, що я встановив Windows Vista SP2 без проблем.
Можливо, ви захочете зробити деякі вимірювання, щоб зрозуміти, як ваша власна система використовує пам'ять, перш ніж проводити коригування файлів сторінки. Або (якщо ви все ще хочете вносити корективи), до та після цих коригувань.
Перфмон - це інструмент для цього; не диспетчер завдань. Ключовим лічильником є пам'ять - введення сторінок / сек . Це конкретно графік помилок на твердій сторінці - тих, де потрібно прочитати з диска, перш ніж процес може тривати. Несправності м'яких сторінок (які є більшістю елементів, зафіксованих за замовчуванням Сторінка помилок / лічильник; я рекомендую ігнорувати цей лічильник!) Насправді не є проблемою; вони просто показують елементи, які зазвичай читаються з оперативної пам'яті.
Графік Perfmon http://g.imagehost.org/0383/perfmon-paging.png
Наведений вище приклад системи, яка не турбується, пам'ятаючи пам'ять. Дуже періодично виникає сплеск важких несправностей - цього не уникнути, оскільки жорсткі диски завжди більше, ніж оперативна пам'ять. Але графік багато в чому рівний нулю. Тож ОС працює з бек-магазину дуже рідко.
Якщо ви бачите графік вводу пам’яті / сторінок / сек, який набагато більший, ніж цей, правильною відповіддю є або зменшення використання пам’яті (запуск менших програм), або додавання оперативної пам’яті. Зміна налаштувань вашого файлу сторінки не змінить того, що від системи вимагається більше пам'яті, ніж є насправді.
Зручним додатковим лічильником для моніторингу є PhysicalDisk - Сер. Довжина черги (всі екземпляри). Це покаже, наскільки ваші зміни впливають на саме використання диска. Налагоджена система покаже це середнє значення лічильника на рівні 4 або менше за шпиндель .
Я без перешкод працював у вікні 8 ГБ Vista x64 без файлу сторінки протягом багатьох років.
Проблеми виникли, коли я справді використовував свою пам’ять!
Три тижні тому я почав редагувати дійсно великі файли зображень (~ 2 Гб) у Photoshop. Один сеанс редагування з’їв всю мою пам'ять. Проблема: мені не вдалося зберегти свою роботу, оскільки для збереження файлу Photoshop потрібно більше пам’яті!
А оскільки саме Photoshop з’їдав усю пам’ять, я навіть не міг звільнити пам’ять, закривши програми (ну я це зробив, але це було замало, щоб допомогти).
Все, що я міг зробити, - це заблокувати роботу, включити файл сторінки та переробити всю свою роботу - я втратив багато роботи через це і не можу рекомендувати вимкнути файл сторінки.
Так, він буде працювати чудово більшу частину часу. Але момент, коли він порушиться, може бути болісним.
Хоча відповіді тут досить добре висвітлювали тему, я все ж рекомендую це прочитати:
http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx
Він говорить про розмір ПФ майже в кінці:
Деякі відчувають відсутність файлу підкачки приводить до кращої продуктивності, але в цілому наявність файлу підкачки означає, що Windows може записувати сторінки в модифікований список (які представляють сторінки, до яких не можна отримати активний доступ, але не були збережені на диску). файл підкачки, таким чином робить цю пам'ять доступною для більш корисних цілей (процесів або кеш-файлів). Тож, хоча можуть бути деякі навантаження, які працюють краще без файлу підкачки, загалом наявність однієї системи означатиме доступність більшої кількості пам’яті, що може бути доступною для системи (майте на увазі, що Windows не зможе писати дамп у збої ядра без файлу підкачки великого розміру достатньо, щоб їх утримати).
Мені дуже подобаються статті Марка.
Найкраща відповідь, яку я можу придумати, - це те, що при нормальному навантаженні ви можете не використовувати 8 Гб, але це несподівані навантаження, де ви зіткнетеся з проблемою.
З файлом сторінки система принаймні буде повільно працювати, як тільки вона починає потрапляти на сторінку. Але якщо ви видалите файл сторінки, він просто помре (з того, що я знаю).
Крім того, 8 Гб зараз здається дуже багато, але через кілька років це може вважатися мінімальним обсягом пам'яті для багатьох програм.
У будь-якому випадку - я б рекомендував зберігати принаймні невеликий файл сторінки; але інші, будь ласка, виправте мене, якщо я поза базою.
Ви не згадали, чи це 64-бітове видання Windows, але я думаю, що так.
Файл сторінки обслуговує багато речей, у тому числі генерує дамп пам'яті у випадку BSoD (Blue Screen of Death).
Якщо у вас немає файлу сторінки, Windows не зможе видати сторінку на диск, якщо не вистачить пам'яті. Ви можете подумати, що з 8 Гб ви не досягнете цієї межі. Але у вас можуть бути погані програми, які протікають з часом пам'яті.
Я думаю, що це не дозволить вам перейти у сплячку / режим очікування без файлу сторінки (але я ще не намагався).
Windows 7/2008 / Vista не змінює використання файлу сторінки.
Я побачив одне пояснення від Марка Русиновича (Microsoft Fellow), що пояснює, що Windows може бути повільніше без файлу сторінки, ніж з файлом сторінки (навіть з великою кількістю оперативної пам’яті). Але я не можу знайти першопричину.
У вас немає місця на диску? Я б тримав мінімум 1 ГБ, щоб мати можливість скидання ядра у випадку BSoD.
У мене вимкнено файл сторінки (8 Гб на ноутбуці x86) і виникли дві проблеми навіть з 2500 МБ безкоштовно:
Помилка ASP.NET при спробі активувати послугу WCF : Не вдалося перевірити ворота пам'яті, оскільки вільна пам'ять (399,556,608 байт) становить менше 5% від загальної пам'яті. Як результат, послуга буде недоступною для вхідних запитів. Щоб вирішити це, або зменшіть навантаження на машину або відрегулюйте значення minFreeMemoryPercentageToActivateService на елементі конфігурації serviceHostingEnvironment.
Досить 3,7 ГБ менше 5% від 8 ГБ я ніколи не дізнаюся !!
Отримання Закрити програми для запобігання втрати інформації діалог: Коли 75% моєї пам'яті використовується я отримую діалогове вікно , яке повідомить мені закрити програми. Ви можете вимкнути це за допомогою зміни реєстру (або, можливо , відключивши службу "Політика діагностики").
Врешті-решт я вирішив просто знову увімкнути його. Windows просто і просто не було розроблено для використання без файлу сторінки. Оптимізовано для роботи з пейджингом, не без цього. Якщо ви плануєте використовувати більше 75% своєї пам’яті і не хочете возитися зі своїм реєстром - то, можливо, це не для вас.
Єдина особа, яка може сказати вам, чи потрібні вашим серверам або робочим станціям файл сторінки, це ви з ретельним використанням монітора продуктивності або як це називається в ці дні. Які програми ви використовуєте, яку користь вони бачать, і що найвище можливе використання пам'яті потенційно ви можете побачити?
Чи варто стабільність можливо йти на компроміс заради економії хвилини грошей на менших жорстких дисках?
Що станеться, коли ви завантажите дуже великий патч, скажімо, у пакет оновлення. Якщо служба встановлення вирішить, що для розпакування виправлення потрібно більше пам'яті, ніж ви думали, що тоді? Якщо ваш сканер вірусів (справедливо) вирішив сканувати цей дуже великий пакет, яке саме використання пам'яті знадобиться під час розпакування та сканування цього патч-файлу - я сподіваюся, що файл архіву патчів не містить жодних архівів, тому що це абсолютно цифри використання пам'яті вбивства .
Що я можу вам сказати, це те, що при видаленні файлу сторінки набагато більша ймовірність нашкодити, ніж допомогти. Я не бачу причини, чому б у вас її не було - я впевнений, що може бути кілька випадків, коли я помиляюся на цьому, але це зовсім інша область.
Ваша загальна доступна пам'ять - це ваш файл сторінки + фактична пам'ять.
Ключовим питанням є те, чи очікується загальне використання пам'яті для всіх додатків та використання операційної системи 8 Гб. Якщо ваш середній обсяг пам’яті становить 2 Гб, а максимум використання пам'яті становить лише 4 ГБ, то мати файл сторінки безглуздо Якщо ваше максимальне використання пам’яті ближче до 6-7 Гбіт або більше, ніж корисно мати файл сторінки.
PS: Не забудьте забезпечити зростання в майбутньому!
Здається, дуже багато людей, які сильно обмежені, мають думку з цього приводу, але ніколи насправді не намагалися запустити свій комп'ютер без файлу сторінки.
Мало хто, якщо майже ніхто, не пробував. Ще менше, здається, не знають, як Windows поводиться з файлом сторінки. Він не просто "заповнюється", коли у вас закінчується фізична оперативна пам'ять. Надіюсь, більшість з вас навіть не знали, що ваша "вільна" ОЗУ використовується як кеш файлів!
Ви МОЖЕТЕ отримати значні покращення продуктивності, відключивши файл сторінки. Ваша система буде більш чутливою до помилок, що не знаходяться в пам'яті (а чи знаєте ви, як ваші програми реагують у такому сценарії - здебільшого ОС просто припиняє програму). Час запуску з режиму очікування або тривалого простою буде набагато швидшим.
Якщо корпорація Майкрософт фактично дозволила вам встановити параметр, завдяки якому файл сторінки ТИЛЬКО звикає, коли немає фізичної оперативної пам’яті (а всі файлові буфери були викинуті), я б подумав, що від вимкнення файлу сторінки було б мало користі.
Це антидотично, але ми запускаємо термінальний сервер Windows Server 2003 для приблизно 20 користувачів, з 10-15 вхідними моментами та 8 ГБ оперативної пам’яті. Ми не запускаємо файл зі сторінкою, і наш сервер працює швидше, ніж раніше. Це, очевидно, не є рішенням для всього, але ми вже два роки так бігаємо і не мали жодних проблем, про які я знаю.