Most Windows users use the hibernation feature to quickly boot into Windows and resume their work. However, the hibernation feature is turned on by default on most Windows 10 PCs and but it doesn’t show up in the power menu or power button by default. On Windows 10, it can be added to the Start menu power button by referring to our how to enable hibernate in Windows 10 guide.
When you enable the hibernate feature, Windows creates a new file named hiberfil.sys in the root of your system drive (the drive where Windows is installed) to save the system state.
In the recent versions of Windows 10, Microsoft has made considerable changes to the hibernation file size. The hibernation file size is approximately 40% of the RAM installed on the computer in recent versions. In previous Windows versions, it was up to 95% of the random access memory (RAM) installed on the PC. On my ThinkPad laptop, which has 16 GB of RAM, the hibernation file size is just 6.34 GB.
Now, if you have a hiberfil.sys file with a huge size, you might want to reduce its size to free-up some disk space. The default size of hiberfil.sys varies depending on the amount of RAM installed on your PC.
One can reduce the hiberfil.sys file size by executing a simple command in the elevated Command Prompt. But we recommend you keep at least 70% of the original size of the hiberfil.sys.
Important: Windows 10 lets you reduce the hiberfile.sys file size up to 40% of the installed RAM size. However, on Windows 7, you cannot reduce the hibernation file size to less than 50% of the RAM. Besides, on Windows 10, if you try to set the hiberfile.sys file size to 30% or less, Windows 10 will automatically set the RAM size to 40%.
How to reduce the size of hiberfil.sys file in Windows 10/7/8
Step 1: Open elevated Command Prompt by typing CMD in Start menu search filed, right-click on Command Prompt entry, and then click Run as administrator.
Step 2: In the command prompt, type the following command and hit enter.
For Windows 10:
powercfg.exe /hibernate /size 100
In the above command, replace “100” with a value between 40 and 100. For example, if you want to set the hibernation file size to 80% of the original size:
powercfg.exe /hibernate /size 80
Once the file size is changed, as you can see in the picture above, the Command Prompt will show the new size of the hibernation file.
For Windows 7:
Powercfg –h –size percentsize
In the above command, replace percentsize with your value (for example, 60%), but it cannot be smaller than 50.
Step 3: Exit the Command Prompt. You may now manually check the hiberfil.sys file size to make sure that the file size has been changed.
Can you move hiberfil.sys file to another drive in Windows 10 guide might also interest you.
Anonymous says
Thanks for this writeup.
BTW, you have 12 GB RAM and not 16GB !!
60% file size for 16GB will be much bigger.
admin says
@ BH, thanks for your inputs. Will help others as well.
BH says
syntax has changed for Win10 as of this writing.
Go to cmd, run as admin, type “powercfg /?” for base level options. For hibernate options: “powercfg /hibernate /?”
Note that there is an feature for modifying hibernate options, and it is off by default. To enable modification: “powercfg /hibernate on”
Windows 10 now allows 40% – 100%.
Next, to change to 40%, use: “powercfg /hibernate /size 40”
DARREN says
When I attempt the above I receive :
“A device attached to the system is not functioning.”
Help!
Nux says
To quote Microsoft: “For Windows 7, the default size of the hibernation file is equal to 75 percent of the total physical memory on the system.
[…]
In rare and extreme cases of memory use, including memory validation by a memory performance or test utility, __hibernate_can_fail__ because the contents of memory cannot be compressed enough to fit within the size of the hibernation file.”
MS also says that on systems with large disks, you should actually __increase__ the hibernation file size to 100 percent!
Anon says
Thanks for the command!!
Hannes Schurig says
Cool thing but what about disadvantages? What happen if my memory usage is about 2GB but I limited the hiberfil.sys to 1GB?