Windows 7 x64 Помилка пам'яті - З більш ніж 1 Гб все ще доступно [копія]


1

На це питання вже є відповідь тут:

Останнім часом я отримую спорадичні спливаючі вітрини "Без пам'яті" під час гри в повноекранному режимі (а саме Arma 3 та BF4). Я цього не отримав, перш ніж переходити з повноекранного режиму на повноекранний екран, але це може бути не пов’язано між собою. Однак, коли з'являються ці попередження, я зазвичай заскакую в Resource Monitor, щоб переглянути сучасний стан моєї системної пам’яті, і в цій грі завжди використовується менше 2 ГБ, а ще 1-3 Гб все ще в режимі очікування.

Це нормально, щоб воно з’явилося рано, чи "Монітор ресурсів" відображає мою наявну пам'ять неправильно (або, я не розумію, що таке "Режим очікування")? Це, як видається, є законною проблемою, оскільки я, як правило, отримую сповіщення про невдале розподіл пам'яті іншими програмами одночасно.

У мене працює 64-розрядна Windows 7 і встановлено 8 Гб оперативної пам’яті.


Іноді Out-of-Memory відноситься до заповнення більшої частини пам'яті та файлу swap. Наскільки великий ваш файл обміну?
кібернард

Відповіді:


1

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

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

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

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


До речі, я вважаю, що у вашому випадку споживання віртуальної пам’яті викликане помилкою.
Девід Шварц

Клоп на чиєму кінці? Windows чи програма? Дякую за інформацію, до речі. Чи не повинна Windows просто використовувати ОЗУ, коли файл сторінки переповнюється?
Габріель Ч'яреллі

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

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

EDIT: Неважливо, він просто натиснув. Якщо я отримую це зараз, пам'ять із позначкою "Режим очікування" в Resource Monitor - це пам'ять, яка була підготовлена ​​на сторінці, але фактично не доступна. Тож якщо у мене є ~ 5 ГБ у використанні та> 2 ГБ в режимі очікування, то фактично у мене є <1 ГБ. Потім він потрапляє у файл сторінки і з часом переповнює, оскільки він занадто малий. Таким чином, додавання більшої кількості оперативної пам’яті повинно полегшити використання файлу сторінки та зупинити переповнення, інакше я міг би збільшити файл сторінки за рахунок продуктивності (можливо).
Габріель Чіареллі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.