【Windows】pagefile なしにしてみた | Windows Server

仮想メモリを"使用しない"にしてみた


Microsoft Windows Server 環境において、物理メモリ64G搭載しているサーバで仮想メモリ(pagefile.sys)を使用したくないので仮想メモリを「使用しない」に設定してみました。これで物理メモリしかアクセスせず、pagefile にアクセスしないのでパフォーマンスが向上すると思いました。なぜならpagefileは SSD 上でありメモリより低速なためです

ここでいう「仮想メモリ空間」と「仮想メモリサイズ」は異なります。
「仮想メモリ空間」はsysteminfo コマンドで確認できる、OSのメモリ空間すべてのことです。

実行例:

C:\>systeminfo
(略)

物理メモリの合計: 2,047 MB
利用できる物理メモリ: 886 MB
仮想メモリ: 最大サイズ: 2,047 MB
仮想メモリ: 利用可能: 943 MB
仮想メモリ: 使用中: 1,104 MB

(略)



一方でここでいう仮想メモリ(pagefile.sys)は物理メモリではなく、ファイルとしてメモリを補助する機能です。
物理メモリに入りきらない場合など、仮想メモリにメモリの内容の一部が退避されます。
ただし物理メモリを大量に搭載している場合は、仮想メモリに退避する必要がないでしょうということです。

仮想メモリサイズを確認する


wmic コマンドでpagefile.sys のサイズ確認が可能です。

C:\>wmic pagefileset list
利用できるインスタンスがありません。



pagefile.sys を利用していない場合は、"利用できるインスタンスがありません。" と表示されるはずです。

コントロールパネル内では次のように「ページングファイルサイズ」は「なし」と表示されます。

仮想メモリを0に設定する



恐らく仮想メモリなしはメーカより推奨されていないと思われますが、実際に設定して運用することが可能でした。

ページファイルを新規に作成する


ページファイルを新規に作成することも可能です。次のサンプルはwmic コマンドによりc:\pagefile.sys を2 G で作成します。


C:\>wmic pagefileset create name="C:\pagefile.sys"
インスタンスは正しく作成されました。

C:\>wmic pagefileset where name="C:\\pagefile.sys" set InitialSize=2048,MaximumSize=2048
'\\myservername\ROOT\CIMV2:Win32_PageFileSetting.Name="C:\\pagefile.sys"' のプロパティを更新しています
プロパティは正しく更新されました。



OS再起動で有効となります。

OS再起動後にコマンドで確認すると、以下のとおりに設定されていることが分かります。

C:\>wmic pagefileset list
Description InitialSize MaximumSize Name SettingID
'pagefile.sys' @ C:\ 2048 2048 C:\pagefile.sys pagefile.sys @ C:



\\と\記号はエスケープする必要があります。エスケープを忘れると次の"無効なクエリです"エラーが発生します。

C:\>wmic pagefileset where name="C:\pagefile.sys" set InitialSize=2048,MaximumSize=2048
エラー:
説明 = 無効なクエリです



ページファイルを削除する


ページファイルなしに設定するには "wmic pagefileset delete" を実行します。
次のサンプルではページファイルサイズを確認した後で、なしに設定しています。そして再度確認しています。

C:\>wmic pagefileset list
Description InitialSize MaximumSize Name SettingID
'pagefile.sys' @ C:\ 2048 2048 C:\pagefile.sys pagefile.sys @ C:


C:\>wmic pagefileset delete
インスタンス \\WIN-4ULMP4P9ORT\ROOT\CIMV2:Win32_PageFileSetting.Name="C:\\pagefile.sys" を削除しています
インスタンスは正しく削除されました。

C:\>wmic pagefileset list
利用できるインスタンスがありません。





Windowsのよくある質問 FAQ




個人的に独自に調査した事項をまとめています。各ベンダーとは全く関係がありません。
内容に誤りがある場合や情報が古くなっている場合があります。その場合でも修正されるとは限りません。
参考としてサイト閲覧ください。万が一誤りがあり損失等が発生しても保証しません。あくまでも自己責任でサイトを閲覧ください。