以前のバージョンのWindowsでは(Windows)、古き良きページングファイルを覚えていると思います。物理メモリがオーバーコミットされ、通常は長期間アクセスされていないオブジェクトを保持する場合に使用されます。それはpagefile.sysです。次に、Windowsに休止状態オプションがあり、カーネルとすべてのアプリケーションをハードドライブに保存して、完全に再起動するよりも速くコンピューターをバックアップできるようにしました。それはhiberfile.sysです。
Windows 8/10では、事態はさらに複雑になります。pagefile.sysは常に存在しますが、hiberfil.sysは、 Windows(Windows)で高速起動が有効になっている場合にのみ存在します。高速スタートアップとは何ですか?これにより、基本的にWindowsでハイブリッドシャットダウンを実行できます。Windows 8/10Windowsよりもはるかに高速に起動する理由です。Windows8でのハイブリッドシャットダウンとは何か(what a hybrid shutdown is in Windows 8)を説明している私の以前の投稿をチェックしてください。
デフォルトでオンになっている新しいハイブリッドシャットダウン機能を使用するには、Windowsで休止状態を有効にする必要があります。休止状態が無効になっている場合、hiberfil.sysファイルはなく、高速起動オプションも使用できません。Windowsで休止状態を有効にすること(enabling hibernation in Windows)についての私の投稿をここで読むことができます。
ここで興味深いのは、高速起動が有効になっている場合(つまり、休止状態が有効になっている場合)、hiberfil.sysがRAMの約75%になり、ページングファイルが約25%になることです。これは、hiberfil.sysにWindowsカーネルとデバイスドライバーが含まれているためです。ページングファイルは、すべてのRAMがシステムのみを使い果たした場合にのみ使用され、実際にWindowsを実行しているときに使用されます。hiberfil.sysは、ブートプロセスにのみ使用されます。
Windowsで休止状態を有効にしていない場合は、ページングファイルがRAMの容量と同じサイズになっていることがわかります。
上のスクリーンショットでは、1GBのRAMと高速起動が無効になっているWindowsマシンがあります。(Windows)それがどのように機能するかを理解したので、新しいもの、swapfile.sysに取り掛かりましょう。一体何ですか?基本的にはページングファイルに似ていますが、目的は異なります。
swapfile.sysの主な理由の1つは、Windowsストア(Windows Store)アプリを一時停止および再開することです。では、代わりにページングファイルを使用してみませんか?この特殊なタイプのページファイルを使用すると、特定のタイプのページング操作をより効率的に実行できるため、これが使用されます。
より明確な説明があります。Windowsは、ページングとスワッピングの両方をサポートしています。ページングは、長期間アクセスされていないアイテムを保持しますが、スワッピングは、最近メモリから取り出されたアイテムを保持します。pagingfileのアイテムは長い間再度アクセスされない可能性がありますが、swapfileのアイテムははるかに早くアクセスされる可能性があります。
また、ページングはハイエンドマシンで非常に効果的ですが、スワッピングはローエンドのタブレットやPCでより効果的です。各ページングファイルには、動的拡張、スペース予約、読み取り/書き込みポリシーなどの異なる要件があります。同じページングファイルがある場合、ページングで使用される固定サイズのページと大きなチャンクのために、ファイルは非常に迅速に断片化されます。スワッピングで使用されます。
上からわかるように、swapfile.sysのサイズは約16MBです。現在のところ、従来のWindowsプログラムとはページングのニーズが異なるため、ストアアプリに使用されています。(Store)将来的には他の用途もあるかもしれませんが、Microsoftは正確に何を指定していません。
つまり、これら3つのファイルがWindows 8/10システムで実行することです。起こりうる面白くて厄介なことがいくつかあることに注意してください。16 GBのRAMがあり、 (RAM)Windowsで高速起動を使用している場合は、16GBの休止状態ファイルも使用することになります。SSDで(SSD)Windowsを実行している場合は、ディスク容量の大部分を占めている可能性があります。
次のコマンドを使用して、休止状態を無効にせずに、 Windowsで休止状態ファイル(hiberfil.sys)のサイズを縮小できます。
powercfg.exe /hibernate /size 50
これにより、休止状態ファイルのサイズが100%ではなくRAMの50%に減少します。(RAM)50%を超えて下げることはできないことに注意してください。ただし、16GBや32GB以上のような大量のRAMがある場合は、かなりのスペースを節約できます。
もう1つは、以前のバージョンのWindows(Windows)のように休止状態ファイルが大きくなりすぎることを心配する必要がないことです。以前の休止状態ファイルには、カーネル、デバイスドライバー、およびすべてのアプリケーションデータが格納されていました。アプリケーションデータがなくなったため、ファイルのサイズはほぼ一定に保たれます。したがって、RAMが大量にある場合は、とにかく大きな休止状態ファイルはおそらく必要ありません。
うまくいけば(Hopefully)、これにより、pagefile.sys、hiberfil.sys、swapfile.sysファイルがWindows8/10でどのように機能するかをより明確に理解できます。ご不明な点がございましたら、お気軽にコメントを投稿してください。楽しみ!
HDG Explains – Swapfile.sys, Hiberfil.sys and Pagefile.sys in Windows
In previous versions of Windows, you probably remember the good old paging file. It is usеd whеn physical memory becomeѕ over-committed and it holds objects that usually have nоt been accessed in a long time. That is pagefile.sys. Next, we had the hibernate option in Windows that let you save the kernel and all applications to your hard drive so that you could start your computer back up faster than doing a full reboot. That is hiberfile.sys.
In Windows 8/10, things get more complicated. The pagefile.sys is there all the time, but the hiberfil.sys is only there if you have fast startup enabled in Windows. What is fast startup? It basically allows Windows to perform a hybrid shutdown. This is why Windows 8/10 boots up so much faster than previous versions of Windows. Check out my previous post that explains what a hybrid shutdown is in Windows 8.
In order to use the new hybrid shutdown feature, which is turned on by default, hibernation has to be enabled in Windows. If hibernation is disabled, you won’t have a hiberfil.sys file and you won’t be able to use the fast startup option either. You can read my post here about enabling hibernation in Windows.
Now the interesting thing is that when you have fast startup enabled (meaning hibernation is enabled), then your hiberfil.sys will be about 75% of your RAM and the paging file will be around 25%. This is because the hiberfil.sys contains the Windows kernel and device drivers. The paging file is only used if all RAM is exhausted only our system and is used while you’re actually running Windows. The hiberfil.sys is only used for the boot process.
If you don’t have hibernation enabled in Windows, you’ll see that the paging file is now the same size as the amount of RAM you have.
In the above screenshot, I have a Windows machine with 1 GB of RAM and fast startup disabled. Now that we understand how that works, let’s get down to the new one: swapfile.sys. What the heck is that? Well, it’s basically like the paging file, but serves different purposes.
One of the main reasons for the swapfile.sys is to suspend and resume Windows Store apps. So why not just use the paging file instead to do that? It’s used because certain types of paging operations can be done more efficiently using this special type of pagefile.
Here’s a more clear explanation. Windows supports both paging and swapping. Paging will hold items that haven’t been accessed in a long time whereas swapping holds items that were recently taken out of memory. The items in pagingfile may not be accessed again for a long time whereas the items in swapfile might be accessed much sooner.
Also, paging is very effective on high-end machines whereas swapping is more effective on low-end tablets and PCs. Each paging file has different requirements for dynamic growth, space reservation, read/write policies, etc. If you were to have the same paging file, it would become fragmented very quickly because of the fixed-size pages used in paging and the big chunks used in swapping.
As you can see from above, the swapfile.sys is about 16 MB in size. As of now, it’s used for Store apps because of their different paging needs as compared to traditional Windows programs. There may be other uses too for it in the future, but Microsoft has not specified what exactly.
So that’s what those three files do on a Windows 8/10 system. Note that there are some interesting and annoying things that can happen. If you have 16 GB of RAM and are using fast startup in Windows, that means you’re going to have a 16 GB hibernation file too! If you’re running Windows on an SSD, that may be taking up a large portion of your disk space.
You can reduce the size of the hibernation file (hiberfil.sys) in Windows without disabling hibernation by using the following command:
powercfg.exe /hibernate /size 50
This will reduce the size of the hibernation file to 50% of RAM rather than 100%. Note that you cannot lower it any more than 50%. However, if you have a large amount of RAM like 16GB or 32GB or more, you can save yourself quite a bit of space.
The other thing is that you don’t need to worry about the hibernation file becoming too large like in previous versions of Windows. Earlier the hibernation file stored the kernel, device drivers and all application data. Now that there is no application data, the size of the file stays pretty constant, so if you have a lot of RAM, you probably don’t need a hibernation file that is so large anyway.
Hopefully, that gives you a clearer understanding of how the pagefile.sys, hiberfil.sys and swapfile.sys files work on Windows 8/10. If you have any questions, feel free to post a comment. Enjoy!