今回はメモリ関連。
↓対象となるレジストリ↓
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement
・IoPageLockLimit
設定値:(DWORD) 67108864
ファイルキャッシュを 64MB に設定。
ハードディスクへのアクセスが頻繁な場合に。
ちなみにデフォルトは 512KB(524288)らしい。
なかなか効果を検証しにくいが、384MB~512MB くらいのメモリだと、上記の値が丁度いいようだ。
※追記
ファイルキャッシュを256MBにしたところ、シーケンシャルアクセスの速度が1.5倍ほどになった。
なかなか効果が大きいようだ。
・DisablePagingExecutive
設定値:(DWORD) 1
カーネル(システムに関わるDLLなど)を全てメインメモリに置く設定。
システムファイルをハードディスクに読みに行く手間が省けるので、256MB程度のメモリがあればシステム全体のパフォーマンスアップに繋がる。
ウチのPCでは約50MBのカーネルが読み込まれる。
(※↓の画像の「カーネル メモリ」という項目がそう)
なお、上記の「コミット チャージ」の「制限値」が使用可能メモリで、「物理メモリ」の「合計」が搭載されているメモリ。
カーネルのためにメモリを確保した分、使用可能なメモリがいくらか減少している。
・NonPagedPoolSize
設定値:(DWORD) 67108864
物理メモリからページファイルへ移動しない、確実に確保するメモリの容量(非ページプール)。
カーネルをこの領域に入れることを見越して64MB分確保した(上記で50MB使用しているので)。
ちなみにこの設定を行っても、タスクマネージャーの「非ページ」の容量が変化しないのは仕様らしい。
・その他
システムのプロパティ→詳細設定→パフォーマンス
仮想メモリを0にし、ページファイルを作らない設定にする。
デフォルトでは、「制限値」に使用メモリが近づくと、ハードディスク上のページファイルにアクセスしてメモリの内容の一時退避が行われる(スワップアウト)。
ハードディスクはメモリに比べて圧倒的にアクセス速度が遅いので、スワップアウトが発生すると動作が遅くなる。ページファイルを作らない設定にすると、スワップが起こらないのでパフォーマンスがアップする。
おおむね512MB以上のメモリがある場合はこの設定が有効なようだ。
ただし、メモリの使用量が使用可能メモリを上回った場合にはエラーが発生してしまう。 大量のアプリケーションを起動する場合や、大きなアプリケーションを動作させる場合はメモリに気を使う必要がある。
0 件のコメント:
コメントを投稿