Зарядка на заповнення становить 100%, але фізична пам'ять становить лише 60%, коли не використовується файл сторінки


25

Я відключив файл сторінки в моїй системі (жорсткий диск занадто повільний, не вдається придбати новий, не можу перемістити файл сторінки на інший розділ). Коли я бачу в Resource Monitor, використовуючи програми, що вимагають пам'яті, система показує, що плата за фіксацію майже на 100%. Дійсно, якщо я продовжую вимагати більше пам’яті, програми починають виходити з ладу, оскільки ефективність заряду ефективно досягає 100%.

Тим часом система каже, що я використовую лише 50-60% фізичної пам’яті та маю близько 1 ГБ пам’яті (вільний + режим очікування).

Якщо плата за фіксацію - це фактично запитувана загальна пам'ять, чому система каже, що стільки пам’яті безкоштовно? Чи не використовується фізична пам'ять Windows? Неправильний графік пам'яті? Я щось пропускаю?

Графік заряду проти графіка фізичної пам'яті Менеджер завдань


2
Ще одна хороша відповідь на цю тему: brandonlive.com/2010/02/21/measuring-memory-usage-in-windows-7 .
cnst

@cnst Дуже гарна стаття. Це допомогло мені краще зрозуміти це питання. Чому ви не опублікуєте це як відповідь?
Джейсон Ов'єдо

2
Будь ласка, не відключайте користувачів файлів вашої сторінки. Це німа ідея
Мілні

@Milney Я згоден, зазвичай не слід вимикати файл сторінки. На даний момент для мене це мало сенс, оскільки диск був занадто повільним, настільки він калічив мою систему. Насправді це було досить корисно, окрім спонукань до цього питання, загальна чуйність системи багато разів покращувалася.
Джейсон Овьєдо

@JasonOviedo Це не повинно бути так, і вказується, що щось дуже не так. Надаючи системі більше варіантів, НЕ слід робити це повільніше. Системі не потрібно використовувати файл сторінки лише тому, що він має. (Це означає, що це, мабуть, питання XY. Правильне питання полягає саме в тому, чому файл сторінки уповільнив вашу систему.)
David Schwartz

Відповіді:


26

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

Ліміт фіксації = поточний розмір файлу сторінки + розмір ОЗУ.

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

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

Тим не менш, "системна фіксація" збільшується на 2 Гб, оскільки система "взяла на себе", що МОЖЕ буде місце для моїх 2 ГБ, якщо мені насправді це потрібно. Той факт, що при будь-якому запуску програми я не обов’язково намагатись би її використовувати, не допомагає. Я попросив 2 Гб, і успішне повернення з цього дзвінка говорить про те, що ОС "здійснила" - тобто пообіцяла - що я можу використовувати стільки віртуального адресного простору. ОС не може зробити цю обіцянку, якщо не знайдеться десь зберегти це.

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

Дивіться також мої відповіді тут (довше) та тут (набагато довше).


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

4

Як показує тест на розподіл пам’яті в статті за адресою http://brandonlive.com/2010/02/21/measuring-memory-usage-in-windows-7/ , Windows - це тип системи, який не може забезпечити розподіл великої пам'яті якщо таке виділення разом із усіма попередніми розподілами (концепція Microsoft називає "фіксувати") приведе до загальної "фіксації" вище суми як фізичної пам'яті, так і суми всіх файлів сторінки (своп).

Вважайте, що для виділення самостійно не використовується жодна реальна пам'ять (ні фізична, ні своп), перш ніж читання або запис відбувається у віртуальному адресному просторі процесу для вищезазначеного розподілу. Наприклад, виділення 2 Гб само по собі вплине на номери "Зафіксувати" (у розмові Windows 7), залишивши "Фізичну пам'ять" в спокої (доки не стане читання / запис у межах зазначеного розподілу).

Що стосується дизайну ОС, альтернативним підходом було б завжди дозволяти виділення будь-якого розміру (якщо тільки наявна пам'ять вже повністю вичерпано), а потім дозволяти програмам не працювати на читання / запис замість цього. Докладнішу інформацію див. У розділі /cs/42877/when-theres-no-memory-should-malloc-or-read-write-fail .


2
Так. Аргумент підходу Windows: розумно очікувати, що програмісти перевірять стан malloc (або, в Win32, VirtualAlloc). Після того, як цей виклик буде успішним, програма може довіряти, що виділена ваза є придатною для використання та залишатиметься такою, доки не буде відповідна безкоштовна або VirtualFree. Інший спосіб, звичайна пам'ять, яка читає і записує (тобто перенаправлення покажчиків), може призвести до винятку доступу до пам'яті. Але жоден програміст не сподівається перевірити стан після кожного перенаправлення покажчика. Вони все одно не повертають статус, тому це доведеться робити з обробником винятків. Некрасивий.
Джеймі Ханрахан

2

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

http://support.microsoft.com/kb/312628

Що стосується відсутності файлу сторінки, це дуже погано. Windows погано деградує без одного. Пам'ятайте, що навіть виконувані файли використовуються як файли підкачки, коли немає файлу сторінки. Навіть якщо диск працює повільно, краще мати файл сторінки, поки ви не отримаєте до 8-16 пам'яті. Деякі люди думають, що навіть Windows 7 тоді може працювати без одного.

Я регулярно підсилюю стару машину, роблячи кілька речей. Чистіть жорсткий диск якомога більше. Скопіюйте все, що можна тимчасово вийняти з диска, на резервну копію. Видаліть додатки, які вам не потрібні. Видалення програм може перевстановити.

Коли все, що робиться, дефрагментація вашого жорсткого диска. У цей момент відтворіть файл сторінки. Він буде найближчим до передньої частини накопичувача, наскільки це можливо. Створіть фіксований розмір приблизно в 1,5 рази. Це моє правило, як правило, я бачив розміри між 1 і 3 пам'яттю часу. Це дасть йому невеликий приріст швидкості в порівнянні зі звичними місцями, де вона буде розміщена.

Я використовую ауслогічний дефрагер, він безкоштовний (хоча для більшої кількості інструментів). Є й інші, які роблять це. Ознайомтеся з дефрагментаторами на сайті portableapps.com. Він оптимізує диск, розмістивши недавно доступні файли біля передньої частини диска для швидшого доступу. Він показує, де розміщений файл сторінки, щоб ви могли бачити, чи перемістили ви його в топ-25% диска.

Після цього перевстановіть програми та скопіюйте свої дані назад.

Я б сказав, що ви отримаєте 10 або 20% підвищення. Але головна цінність - багато вагань відходить для більш плавного досвіду.


3
За допомогою деяких тестувань для мене зрозуміло, що коли диск занадто повільний, відсутність файла сторінки дійсно прискорює роботу системи. Я можу сказати різницю в багато секунд у простих завданнях, як переключення додатків.
Джейсон Ов'єдо

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