Що станеться, якщо ми зменшимо розмір hiberfil.sys


17

Я сьогодні виявив, що ми можемо встановити розмір hiberfil.sys за powercfg -H -size 100%допомогою інструменту командного рядка. Ігноруючи важкий простір, який ви отримаєте, що ще зміниться, якщо ми встановимо його powercfg -H -size 50%? Чи обмежує максимальне використання оперативної пам’яті 50%? Чи система не перезимує, якщо у мене більше 50% оперативної пам’яті?


2
система вийде з ладу за допомогою цієї помилки ( msdn.microsoft.com/en-us/library/ff559341%28v=vs.85%29.aspx ), коли використана оперативна пам’ять більша, ніж може зберігати файл сплячки
magicandre1981

Відповіді:


20

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

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

Правильним синтаксисом команди є:

PowerCfg.exe /HIBERNATE /SIZE 75

У документі також зазначено, що якщо файл сплячки занадто малий, то виникне "Стоп помилки", і коди підкажуть, на скільки потрібно збільшити розмір файлу сплячки на.

Це не обмежить кількість фізичної оперативної пам’яті, доступної вашій системі.

Після його стиснення зменшення розміру файлу не буде проблематичним, якщо ви рідко потрапляєте на 100% фізичної пам'яті, що використовується, та / або ваша пам'ять, ймовірно, містить дані, які є досить стислими, яка більша частина часу повинна бути.

З цього документа:

Windows залишає дисковий простір для сплячки у файлі сплячки, який названий Hiberfil.sys. Для Windows 7 розмір файлу сплячки за замовчуванням дорівнює 75 відсоткам загальної фізичної пам'яті в системі. Наприклад, на комп'ютері, який має 2 ГБ оперативної пам’яті, розмір файлу гібернації за замовчуванням становить 1,5 ГБ.

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

Я б спробував це знизити, але особисто я не став би на 50%. Це, можливо, буде добре, але найгірше, що станеться, це те, що сплячка вийде з ладу, і вам доведеться перезавантажуватись нормально і встановлювати розмір трохи більшим.


2
Дякую за відповідь Я не знаю про офіційне, але про те і те, powercfg -H -size 100%і PowerCfg.exe /HIBERNATE /SIZE 75працює належним чином

1
Схоже, в Windows 10 powercfgкоманда більше не приймає /SIZEаргумент - вона принаймні більше не задокументована, але помилка не буде вказана, якщо вказати її.
мартино

Я виявив, що час для відновлення після сплячки значно збільшився, коли я знизив відсоток до 60% (Windows 7 SP1). Я єдиний?
деддебм

@martineau цілком можливо, що через гібридне вимкнення в Windows розмір файлу сплячки став адаптивним аналогічно, як і файл swap. У мене не було можливості дослідити, окрім того, щоб побачити, що мій файл сплячки становить приблизно 35% розміру моєї системної оперативної пам’яті, але я не здивований.
Мокубай

1
@intrepidis: Я цілком усвідомлюю це. Чи знаєте ви, що якщо ви просто використовуєте, powercfg /?вас розглядатимуть набагато довший список усіх можливих параметрів. Що, якщо ви подивитесь на них, ви зрештою (вони не в алфавітному порядку) побачать запис -HIBERNATE, -Hі, крім того, -H <ON|OFF>він також приймає -H -Size <PercentSize>де -Size Specifies the desired hiberfile size in percentage of the total memory. The default size cannot be smaller than 50. This switch will also enable the hiberfile automatically.- що відповідає пов'язаній документації MS.
martineau

3

Синтаксис в Windows 10 дещо відрізняється

PowerCfg /h[ibernate] off

вимкне сплячку та видалить файл C: \ hiberfil.sys

PowerCfg /h[ibernate] on

Повторно увімкне функцію та створить файл C: \ hiberfil.sys приблизно такого ж розміру, як і доступна пам'ять (система оперативної пам'яті 16GiB створює hiberfil.sys розміром 15,9 Гбіт)

PowerCfg /h[ibrnate] size 75

Створить файл hiberfil.sys або зменшить його розмір приблизно до 75% (12GiB)

PowerCfg /h size 100

Фактично те саме, що і вмикати функцію

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.