По-перше, не розміщуйте файл сторінки на SSD. У той час як SSD стають кращими щодо вирівнювання зносу, файл сторінки записується часто, і він погіршить ваш SSD набагато швидше, ніж загальне використання.
Що багато людей не розуміють, це те, що Windows ніколи насправді не має вільної пам'яті. Є декілька Мб, які зберігаються вільними для швидких вимог, але в іншому випадку різниця між активною пам'яттю додатків, що використовуються, і загальною пам'яттю, як правило, споживається тим, що відомо як "резервна" пам'ять.
Це сторінки пам'яті, які можна скинути за потреби (пам'ять в режимі очікування - великий, великий кеш), тому з точки зору програми вона доступна, але вони жодним чином не використовуються. Зазвичай вони функціонують як кеш диска або кеш сторінок.
Мета Windows - зберегти дані, які, швидше за все, будуть використовуватися в цьому кеш-режимі очікування, виходячи з моделей використання. Для використання надуманого прикладу порівняємо відносне значення приватної пам’яті такої програми, як Windows Update (зазвичай налаштована для роботи раз на тиждень), з кешуванням вмісту робочого столу в цій пам'яті очікування:
Більшу частину часу Windows Update спить. Він утримує пам'ять і здебільшого не робить з цим абсолютно нічого корисного, поки чекає розкладу. З іншого боку, вміст вашої робочої папки може постійно запитуватися, особливо якщо ви хочете зберегти файли в ній.
У цьому випадку Windows зробить розбиття пам’яті, виділеної для оновлення Windows (навіть якщо пам'ять не «повна», і використовувати простір, доступний в оперативній пам’яті, для кешування вмісту робочого столу. Це призводить до кращої продуктивності для ви.
Windows приймає тисячі цих рішень і керує дисковим кешем для сотень файлів, які постійно записуються фоновими службами, намагаючись збалансувати це з потребами пам’яті в активних додатках. Іноді це на мить стає неправильним, і нам, можливо, доведеться чекати, коли вони повернуть дані в пам'ять, коли ми перейдемо на додаток, який деякий час спить у фоновому режимі. Але що ви повинні подумати, це якби він повністю зберігав цю програму в пам’яті, скільки інших програм у свою чергу завалиться, чекаючи завершення запису та читання дисків або їх змушуватимуть видаляти сторінки? Що робити, якщо це були додатки, якими ви користувалися тим часом?
Програми часто виділяють сторінки пам'яті, які використовуються дуже рідко, такі як код запуску (використовується один раз, а потім не потрібен), код закриття (використовується один раз, а потім не потрібен) або оновити код. Не важливо зберігати все це в пам’яті, коли є набагато важливіше використання, тому, як тільки Windows визначить розділи коду, які не потрібні для поточної роботи програми, він із задоволенням розміщує ці розділи у файлі сторінки, навіть якщо технічно це могло б зберегти їх у пам'яті.
(Насправді, залежно від застосувань, системи можуть часто виділяти більше пам'яті, ніж є насправді, очікуючи, що більша частина її завершиться вичерпаною. Якщо ви дивитесь на детальне розбиття пам’яті, плата "Звернути" або "Здійснити" це кількість пам'яті, яку Windows виділила на різні програми. Файл сторінки використовується для забезпечення гарантій цієї пам'яті, навіть якщо у неї недостатньо фізичної оперативної пам’яті для її покриття.)
Я щойно помітив, що ви зробили різницю між доступною та вільною пам’яттю у своєму запитанні; Мої вибачення, якщо ви відчуваєте лекції і вже знали різницю. В ідеалі вільна пам'ять завжди 0. Однак, поки пам'ять у режимі очікування - це пам'ять, яка може бути звільнена, не завжди пам'ять може бути швидко звільнена. Якщо я спробую записати файл на 1 Гб на диск, Windows збирається вставити його в кеш диска, якщо це можливо, а потім повільно записувати його на жорсткий диск у фоновому режимі. Якщо програмі потрібно запитати 50 Мб додаткової пам'яті, але вона не доступна, оскільки цей величезний дисковий кеш все ще вимивається, програма буде зависати, поки вона не стане доступною. Тримаючи в руках невеликий буфер, система дозволяє вирішити цю проблему з мінімальним відставанням від точки зору користувача.