休止状態や高速スタートアップが利用するハイバネーションファイルは、PC/タブレットが搭載する物理メモリーの増加とともに拡大し、ストレージ容量をひっ迫する原因となる。特にストレージ容量が少ないタブレットだと、高速スタートアップなどの利便性を捨ててでも、空き容量を確保しなければならない場合もあるだろう。今回はハイバネーションファイルに関するTipsを紹介する。

ハイバネーションファイルサイズは物理メモリーの75%

ハイバネーションファイル(hiberfil.sys)は、PCが休止状態に入るときに、作業中のデータ(メモリの内容)を一時的に待避させておくためのファイルである。Windows 2000からサポートし、OSのバージョンを重ねるごとに改善されてきた。そしてWindows 8では、高速スタートアップに関する情報も格納する仕組みに変更している。

当初は物理メモリーと同等サイズのhiberfil.sysを確保していたが、Windows 8.1の時点では、物理メモリーの75%を確保するようになった。もっとも、必要な物理メモリー内容のみを書き出すため、実際に使用する容量はこれより少ない。

こちらは物理メモリーを32GB搭載したPCのハイバネーションファイル。75%に対して4%ほど増えた状態だった

さらに、高速スタートアップは物理メモリーに加えてデバイスドライバーなど各種情報が加わる。Microsoftは、物理メモリーの10%~15%程度、hiberfil.sysの容量が増加すると説明している。

ハイバネーションファイルサイズを指定する

さて、ハイバネーションファイルのサイズが問題となるのは、十分なストレージ容量を持つ一般的なPCではなく、メインのストレージが数十GB程度と少ないタブレット環境だ。例えば、物理メモリーを2GB、ストレージに32GBのSSDを搭載したタブレットの場合、1.5GBのハイバネーションファイルが生成される。

ストレージに余裕のないPC/タブレットを常用する場合、不要なファイルをできるだけ削り、ワークファイルはリムーバブルディスク上に待避するなど、数多くのカスタマイズを求められる。取り組んだことのある人も多いだろう。

ハイバネーションファイルのサイズを変更するには、「powercfg」コマンドを使用すればよい。オプションの「/h(hibernate)」は休止状態をオン/オフするため、第107回でも紹介したが、さらに「/size」オプションを使用することで、ファイルサイズを指定できる。

「Win」+「X」キーを押して「コマンドプロンプト(管理者)」をクリック/タップするか、「A」キーを押す

こちらは「powercfg /h /?」とオプション「/h」のヘルプ内容を表示させた状態。今回は「/size」を使用する

コマンドプロンプトに「powercfg /h /size 50」と入力して「Enter」キーを押す。これでハイバネーションファイルを物理メモリーの50%程度にリサイズできた

指定する数値はパーセンテージで、範囲は「50%から100%」だ。今回は作業用のPCで「50%」指定したところ、約6GBだったハイバネーションファイルを、約4GBまで小さくできた。

こちらが物理メモリーを8GB搭載したPC上のハイバネーションファイル(実行前)。6GB程度のサイズだった

同じPCでコマンドを実行した状態。ファイルサイズは4GB以下になった

興味深いのは、Windows 8に関する公式ブログの記事である。記事には「0から100までの数値を指定」とあり、「サイズが小さすぎると休止状態への移行が失敗することがある」という注意文が残されていた。

Windows 8を起動して「powercfg」コマンドのヘルプを確認したところ、こちらも指定可能なサイズは「50%から100%」となっている。これらのことから、先のブログ記事はWindows 8開発途中の情報であり、Windows 8リリース時は「50%」という制限を設けたのだろう。

Windows 8における「powercfg」コマンドのヘルプ内容。内容はWindows 8.1と同じだ

試しにWindows 8.1上で0%を指定したが、50%が下限となるようだ

なお、この状態で休止状態への移行や高速スタートアップの動作を検証してみたが、特に目立った問題は発生しなかった。休止状態はもちろん高速スタートアップを利用したいが、ストレージ空き容量に余裕がない方は、今回の操作をお試しいただきたい。

阿久津良和(Cactus)