win10_2
 昨日に引き続きの記事になりますが、今年の春に行われたCreators Update以降はプロセスが分離し、今まで以上にメモリーの使用容量が増えました。この更新以前はよかったが、Creators Update以降パフォーマンスが落ちた場合、原因の一つとして仮想メモリの見直しを行っていないことが挙げられます。
PASOOMOI
 よく挙げられるのが、インターネットなどを見る場合はそんなにパフォーマンスの低下が感じられないが、ちょっとした重いソフトを開くときや、作業を行っているときに以前よりも遅くなったという場合ですが、その場合はパソコンのハード的な問題やWindows10のOSの問題ではなく、そのほとんどがこの仮想メモリがきちんと設定されていないのが原因で、これを再設定することによりパフォーマンスが向上します。

 特に今年の春に行われたCreators Update以降はプロセスが分離され、それによりシステムが使用するメモリの領域が増えました。そのため、Widnows10の発表(他のWindows製品からの無料移行期間)に導入された人はこの仮想メモリの設定が現在のものと合わなくなっている可能性があります。
 また、パソコンを新規に購入した場合は、仮想メモリが「システム管理サイズ」になっている可能性もあります。この場合もきちんとした仮想メモリを設定することでパフォーマンスが向上します。


 そもそも仮想メモリって何?

 仮想メモリとは簡単に言うとハードディスクの一部の領域をメモリの一部として利用する領域のことを言います。ページファイル、ページングファイル、バーチャルメモリと呼ぶこともあります。
 通常、みなさんが言ってる「メモリ」は正確には「物理メモリ」と言い、このメモリを増設してメモリ領域を増やします。しかし、パソコンのマザーボードの仕様などにより、無限にこの「物理メモリ」を増設することはできません。また、メモリを増設するとなるとその分の費用がかかります。
 物理メモリが少ないパソコンの場合、作業を行っているとメモリの空き領域が不足します。その際、メモリ不足によってパソコンのフリーズを防ぐために、一旦優先順位の低いメモリ領域をハードディスクに退避させなければなりません。そのメモリ領域を退避させるハードディスクの領域が仮想メモリということです。

 ではこの仮想メモリを最初から大きくすれば良いのでは?という人もいると思いますが、仮想メモリを大きくすると逆にパフォーマンスが低下します。

 仮想メモリ領域はあくまでも物理メモリの情報を一旦ディスク上に退避させる領域です。このデータを退避させることを「スワップアウト」、退避させたデータを元の物理メモリに戻すことを「スワップイン」と言います。このスワップイン、スワップアウトを繰り返すことにより、仮想メモリの断片化(フラグメンテーション)が起きます。本来、仮想メモリの絶対的な理想値は0ですが、アプリによってはページングファイルを使用するものもあり、事実上不可能なことになります。逆にこの仮想メモリが小さすると、スワップイン、スワップアウトの作業が多くなり、結果として全体のパフォーマンスが低下します。以上の理由からこの仮想メモリは適切な数値に設定することがパフォーマンスの向上につながるわけです。
 
 
 まずは、実際どのくらいの仮想メモリが必要なのかを把握しなければなりません。この必要な仮想メモリの大きさは環境によって大きく変わってきます。そのため、まずは数日使用してみてその最大値を把握しなければなりません。

 仮想メモリの大きさを把握するには、タスクマネージャーを開いてメモリの使用状況を確認します。
 タスクマネージャーの開き方は、タスクバーを右クリックしタスクマネージャーを左クリック→パフォーマンスのタブを選びメモリを左クリックします。

Win10MEM01
 
 このメモリの使用率の画面に「コミット済み」と「使用している物理メモリの量」が記されています。まずはこの数値を把握していきましょう。コミット済みとは、使用されている物理メモリと仮想メモリの合計の数値です。使用している物理メモリの量は現在使用しているメモリの容量です。
 つまり、理想の仮想メモリの容量は「コミット済み-使用している物理メモリの量=仮想メモリ」ということになります。

 この数値は使用環境で大きく異なります。ただインターネットを行っている場合と画像処理を行っている場合、動画編集をおこなっている場合違ってきます。使用環境の中で一番負荷のかかる操作を行い、どのくらいの仮想メモリが必要になるかまずは調べる必要があります。
 
 理想の仮想メモリの量は先ほども記した通り
 
「コミット済み-使用している物理メモリの量=仮想メモリ」

 となります。例えば、コミット済が8GB、使用している物理メモリの量が6GBとすると
「 8GB - 6GB = 2GB」となります。
 ただし、少しこの仮想領域に余裕を持たせるために500MB(0.5G)を余分に確保したほうが良いので、結果として2.5GBの仮想メモリを確保することになります。

 ただし、メモリの容量は128MBの倍数になっているため、仮想メモリも128MBの倍数で設定します。

 「25000 / 128 = 195.3125」となりますので
 「195 × 128 = 24960」もしくは 「196 × 128 = 25088」 が適正値となります。

 

 次に、仮想メモリを設定します。

 検索で「コントロールパネル」→コントロールパネルをクリックし、システム→システム情報→システムの詳細設定→パフォーマンス内の設定をクリック→詳細設定のタブ→仮想メモリ内の変更をクリックします。

WINMEM003


 通常はどのドライブも「すべてのドライブのページングファイルのサイズを自動的に管理する」になっていると思います。
 この状態だとCドライブが見えない状態になっていますので、上にある「すべてのページングファイルのサイズを自動的に管理する」のチェックをクリックし、チェックをはずします。
 チェックをはずすとCドライブが表示されます。


 ここで、どのドライブに仮想メモリを設定するかということになりますが、
 
 まずはパソコンに1つのハードディスクやSSDしかない場合はCドライブに設定します。2台以上ハードディスクやSSDを搭載している場合はシステム以外のドライブ(Dドライブなど)に搭載するとシステムの断片化を防ぐことができ、Windows全体の安定化につながります。
 ただし、1つのハードディスクやSSDに分割のパーティション(複数のドライブ)を設けている場合はハードディスク内のシークタイムの距離が長くなり逆効果になりますので、その場合はWindowsが入っているドライブに設定します。

WINMEM002


 初期サイズと最大サイズは断片化を防ぐために初期サイズと最大サイズは先ほど計算した同じ数値にします。
 仮想メモリを搭載するドライブ以外のメモリ領域は「ページングファイルなし」にして設定を終えます。

 設定し終わったらパソコンを再起動してください。



 もし、使用して「コンピューターのメモリが不足しています」というエラーが出る場合がありますがこの場合は仮想メモリが小さすぎたことになります。その場合はもう一度仮想メモリの数値を再設定してください。