Cドライブの容量不足で pagefile.sys (仮想メモリ)をDドライブに移す

投稿者: | 2019年6月28日

いまさら…のよくある話

Cドライブを小さくとってしまって、気づいたらディスクの空き領域があとわずか…なんてのは、他人のセットアップしたサーバーではたまにある話です。
ディスクなんて何百ギガもあるんだから、Cドライブくらい120GBとか200GBで取れよ、と思うけれど、少し前だとSASドライブで容量が小さいとか、かたくなに80GBとか、2003の頃40GBだったからそのまま踏襲とか、わけわからんことを言うSEもおります。

なんでこんなセットアップしたんだよって言いたくなるサーバーに出会ってしまい、Cドライブの容量を増やさなければならず、抜本的なことはできないから pagefile.sys をDドライブに移動するという最後の手段(でかい工場を移転させて宅地化するようなもんか?)です。

とあるクライアントのために画面キャプチャしたので、ブログのネタにしておきます。

前置き長くなってなんだけど

この pagefile.sys ( 仮想メモリ ) のサイズも、これまたSEの中でも宗教論争みたいなものがあります。もう、どれでもいいよ…

搭載メモリの1.5倍 or 2倍派


もっとも多いでしょう。昔からこういうサイズにしています。メモリが2GBなんて時代はそれでもよかったのですが、16GBなど積んでいると24GBや32GBのpagefile.sysを作ると頑なに言い出す人がいるから困りものです。
16GBなど大容量を積む場合、足りなくなることはないだろ…というか、そのサイズでごっそり仮想メモリを使うような事態だったら、サーバのサイジングのミスじゃないかと思いますが…

0GBにしよう派

極端な派閥と思いますが、これ自体はできます。
自分がやってみたときにもマシンが停止するようなことはなく、使えました。
どうせメモリをいっぱい積んでいるのだし、メモリだけでいいというにはこの手があります。「ハードディスクの仮想メモリを使わないんだから、高速なメモリだけで動くために早くなる」を主張されたこともあるけれど、そこは体感できなかったです。
設定時に警告がでます。また、BSOD(Blue Screen of Death マシンが異常を起こして青画面で再起動…とかになるやつ)の時にフルのダンプファイルが作れないようです。

4GBまでなら2倍、8GB以上はメモリと同じサイズ派

無難な選択でしょう。メモリより小さくすると設定時に警告、起動時にイベントに警告がでます。BSOD時のダンプもとっておきたいし…というもの。

まず事前に

わかりやすいように、隠しファイル・隠しフォルダと、システムファイルを見えるようにしておきます。

うん、わかってる…

Cドライブにpagefile.sysが現れました。

移動する

PC(昔はマイコンピュータ)を右クリックで「プロパティ」を選びます。

左ペインの「システムの詳細設定」を選びます。

パフォーマンスにある「設定」をクリックします。

仮想メモリにある「設定」をクリックします。

初期設定のまま使っている例としては以下のものがあります。

「すべてのドライブのページングファイルのサイズを自動管理します」のチェックを外したうえで、「ドライブ」のところで移動したい先のドライブ(今回はDドライブ)を選んで、カスタムサイズをチェック。
初期サイズと最大サイズを同じ値にして、メモリと同量なり、2倍なりを指定して、「設定」ボタンをします。

ここ、ちょっと重要です。ここでカスタムサイズで、かつ、初期と最大が同じ値の場合、pagefile.sysは最初に初期容量で確保されるため、断片化しません。途中から大きくならないため、ディスクを確保する上でも確実です。

警告がでますが、ここは「OK」です。

再起動をするかを聞いてくるときと、聞いてこない時があります。
(常に聞いてくると思っていましたが、この手順でやっているときには聞いてこないようです。)
ページファイルの設定を変えると、再起動を促すダイアログがでることがありますが、この手順ではここではやらないし、実際に稼働中のシステムの場合も自由に再起動できるわけではないので、勢い余って速攻「再起動」してしまわないように気を付けてください。

ここまでの設定をすると、マシン上は「すでにあるシステムが用意したCドライブのpagefile.sysと、今回設定したDドライブのpagefile.sysの容量を足した値が仮想メモリ」として認識しています。

もう一度、仮想メモリの設定に戻り、Cドライブを選んだ後に、「ページファイルなし」を選んで、「設定」をクリックします。

警告が出ますが、これは「はい」でかまいません。(Dドライブに作っています。)

以下のように、Cドライブはなし、Dドライブに作ったもののサイズがあります。
「OK」をクリックすると元の画面に戻ります。

戻った画面で、仮想メモリのところにある値は、設定した値でなく「すでにあるシステムが用意したCドライブのpagefile.sysと、今回設定したDドライブのpagefile.sysの容量を足した値が仮想メモリ」の合計値だとしても、再起動をすればDドライブのみになります。

「適用」>「OK」とか、「OK」いきなりとか、設定終了ということで。

ここでも再起動関連のダイアログがでることがあります。
この警告は、警告なので「OK」しかありません。
このあと再起動するかを聞いてくる場合、可能ならすればいいし、今できないならあとで手動で再起動してもいいし、稼働中のシステムなら夜中の自動再起動を待ってもいいです。

再起動後はCドライブからpagefile.sysがなくなります。

Dドライブに現れます。(指定したサイズです。)

再起動について

今回は稼働中のシステムだったので、タスクスケジューラにしていした自動再起動で反映させました。
この設定はパソコンでもサーバーでも最初のセットアップでやってしまいます。自分がセットアップするときは、この設定をしてもすぐには再起動をせずにマシン名を変えて、そこで求められる再起動を行い両方を同時に反映させて再起動回数を1回にするということをしています。微々たる時間ですが…