[自分用メモ]Windiws Vista チューニング・改造して高速化する方法 [パソコン関連]
先日以下を実施
http://www.my-standard.co.jp/289.html
http://www.my-standard.co.jp/298.html
http://www.my-standard.co.jp/311.html
①Windows Vistaのカーネル(システム)をメインメモリー上に配置する
通常カーネルプログラムは、HDD、メモリーの両方に分散されて配置される。
メモリー=早いけど低用量、HDD=メモリーに比べてとても遅いけど大容量。
パソコンに大容量のメモリーが搭載されているのなら、カーネルプログラム全体を
高速なメモリー上に配置して、システムの動作を高速化してみる
カーネルをメモリー上に配置する設定
・レジストリエディタを起動します。(ファイル名を指定して実行、regeditと入力してOK)
・目的の値を変更する
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
Memory Management内の「DisablePagingExecutive」の値を「1」に変更する
②Windows Vistaのバッファーのサイズを変更してHDDの読み込みを高速化する
HDDの読み込みの際、1回で全てのデータを読み込むのではなく、ある程度のサイズに
ブロック分割された状態で行われる。
ブロックサイズが小さいと、1つのファイルを読み込む際、何度も往復しないといけないので、
その分無駄な処理が行われてしまう。
逆にブロックのサイズが大きすぎるとかえって無駄なメモリを取られる事になってしまいますが、
大容量メモリを搭載したパソコンでは気にする事もないかな。
●HDDの読み込みバッファーサイズを変更
・レジストリエディタを起動します。(ファイル名を指定して実行、regeditと入力してOK)
・目的の値を変更する
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
Memory Management内の「IOPageLockLimit」の値を「8000000」に変更する
※搭載メモリで調整、項目がなければDWORD値として追加
③Windows Vistaのファイルキャッシュを大きくして読み出しを高速化する
ファイルのコピー&移動がなどで大量のファイルを扱うとウインドウズの動作が
固まったように重くなることがある。これはファイルやフォルダ名を記憶する領域が
8MBしかない為に起こるらしい。レジストリを正しく編集し、ファイルシステムキャッシュを
拡張すると、ファイル操作が快適になる。
●ファイルキャッシュを変更
・レジストリエディタを起動します。(ファイル名を指定して実行、regeditと入力してOK)
・目的の値を変更する
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
Memory Management内の「LargeSystemCache」の値を「1」に変更する
①②③実施後に、システムの再起動
■調べていくと、③の「LargeSystemCacheを1に」は、場合によっては宜しくないらしい。
これを元にもう少し自分の環境を確認してみることにする。因みにMSの推奨は「0」のようだ。
http://blog.livedoor.jp/blackwingcat/archives/885607.html
http://p2pquake.ddo.jp/diary/20061105.html
Microsoft TechNetに「LargeSystemCache」より。
ファイルシステムキャッシュを増やすと、一般にサーバパフォーマンスを向上させます。
しかし、アプリケーションやサービスに使用出来る物理メモリ領域が減ります。同様に、
あまりシステムデータを書き込みしなければ、ディスクサブシステムの使用は最小限になります。
しかし、そうでなければ、変更されたページはアプリケーションによって使われる可能性のある
メモリを占有します。
LargeSystemCache 0の時:
約8MBのファイルシステムキャッシュを確保します。システムは、利用可能なページが
約1,000を下回るまで、変更されたページが物理メモリ上に残ることを許可します。
この設定は、SQLサーバのように自らキャッシュしたり、IISのように程よい量のメモリで
パフォーマンスを発揮したりするアプリケーションにおすすめです。
LargeSystemCache 1の時:
必要であれば、搭載物理メモリ量-4MBまで拡張することの出来る大きな
システムキャッシュワーキングセットを確保します。システムは、利用可能なページが約250を
下回るまで、変更されたページが物理メモリ上に残ることを許可します。この設定は、大規模な
ネットワーク上で稼動するサーバにおすすめです。
「ページ」はメモリを管理する単位のこと(通常4KB/ページ)。
・「0」にした場合、ファイルシステムキャッシュが8MB確保され、空きメモリが少なくなると解放される。
・「1」にした場合、必要に応じて物理メモリのほとんどがシステムキャッシュとして確保され、空きメモリが
極端に少なくなると解放される。
これがLargeSystemCacheの設定による正しい動作らしい。
LargeSystemCacheを「1」にしておくと、メモリが開放されるどころか、物理メモリのほとんどが
システムキャッシュとして消費されてしまうみたいだ。
■調べていくと、②の「「IOPageLockLimit」の値を「8000000」に変更」は、数値が正しくない。
http://crazy-man.cocolog-nifty.com/blog/2007/12/iopagelocklimit_3717.html
例えば4MBを設定する場合、4x1024x1024=4194304となり、IoPageLockLimitの
値のデータに4194304(10進法)と入力する
1KB=1024Bである事を忘れていた。正しい値は、8x1024x1024=8388608である。
この値に修正する事にした。
■①のページングに関しては変更したままで問題なさそう。
---
2009/11/04 その後
IOPageLockLimit の値は、8388608へ変更。
LargeSystemCache の値は、きちんと調べた結果、「0」「1」どちらでも自分の環境では、
物理メモリの使用量が、40%~60%であまり変わらないので、「1」のまま様子を見る事にした。
システムキャッシュを優先とした「1」の設定の場合、アプリが使用する物理メモリが、
足りなくなるかな、とも思うが、メモリが4GB積んであり(32bitの為、3.2GB認識)、
支障がないように思えた。現状様子を見て、不具合が出るようなら元に戻そうと思う。
そして、タスクマネージャーが当てにならない事が良く分かった。
メモリチェックに使用したソフトは、メモリ管理ソフト「びーめむ」
http://www.vector.co.jp/soft/win95/hardware/se136974.html
---
2010064追記
LargeSystemCache の値「1」にするとアプリの挙動がおかしくなった為、
元の「0」へ戻しました。
http://www.my-standard.co.jp/289.html
http://www.my-standard.co.jp/298.html
http://www.my-standard.co.jp/311.html
①Windows Vistaのカーネル(システム)をメインメモリー上に配置する
通常カーネルプログラムは、HDD、メモリーの両方に分散されて配置される。
メモリー=早いけど低用量、HDD=メモリーに比べてとても遅いけど大容量。
パソコンに大容量のメモリーが搭載されているのなら、カーネルプログラム全体を
高速なメモリー上に配置して、システムの動作を高速化してみる
カーネルをメモリー上に配置する設定
・レジストリエディタを起動します。(ファイル名を指定して実行、regeditと入力してOK)
・目的の値を変更する
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
Memory Management内の「DisablePagingExecutive」の値を「1」に変更する
②Windows Vistaのバッファーのサイズを変更してHDDの読み込みを高速化する
HDDの読み込みの際、1回で全てのデータを読み込むのではなく、ある程度のサイズに
ブロック分割された状態で行われる。
ブロックサイズが小さいと、1つのファイルを読み込む際、何度も往復しないといけないので、
その分無駄な処理が行われてしまう。
逆にブロックのサイズが大きすぎるとかえって無駄なメモリを取られる事になってしまいますが、
大容量メモリを搭載したパソコンでは気にする事もないかな。
●HDDの読み込みバッファーサイズを変更
・レジストリエディタを起動します。(ファイル名を指定して実行、regeditと入力してOK)
・目的の値を変更する
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
Memory Management内の「IOPageLockLimit」の値を「8000000」に変更する
※搭載メモリで調整、項目がなければDWORD値として追加
③Windows Vistaのファイルキャッシュを大きくして読み出しを高速化する
ファイルのコピー&移動がなどで大量のファイルを扱うとウインドウズの動作が
固まったように重くなることがある。これはファイルやフォルダ名を記憶する領域が
8MBしかない為に起こるらしい。レジストリを正しく編集し、ファイルシステムキャッシュを
拡張すると、ファイル操作が快適になる。
●ファイルキャッシュを変更
・レジストリエディタを起動します。(ファイル名を指定して実行、regeditと入力してOK)
・目的の値を変更する
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
Memory Management内の「LargeSystemCache」の値を「1」に変更する
①②③実施後に、システムの再起動
■調べていくと、③の「LargeSystemCacheを1に」は、場合によっては宜しくないらしい。
これを元にもう少し自分の環境を確認してみることにする。因みにMSの推奨は「0」のようだ。
http://blog.livedoor.jp/blackwingcat/archives/885607.html
http://p2pquake.ddo.jp/diary/20061105.html
Microsoft TechNetに「LargeSystemCache」より。
ファイルシステムキャッシュを増やすと、一般にサーバパフォーマンスを向上させます。
しかし、アプリケーションやサービスに使用出来る物理メモリ領域が減ります。同様に、
あまりシステムデータを書き込みしなければ、ディスクサブシステムの使用は最小限になります。
しかし、そうでなければ、変更されたページはアプリケーションによって使われる可能性のある
メモリを占有します。
LargeSystemCache 0の時:
約8MBのファイルシステムキャッシュを確保します。システムは、利用可能なページが
約1,000を下回るまで、変更されたページが物理メモリ上に残ることを許可します。
この設定は、SQLサーバのように自らキャッシュしたり、IISのように程よい量のメモリで
パフォーマンスを発揮したりするアプリケーションにおすすめです。
LargeSystemCache 1の時:
必要であれば、搭載物理メモリ量-4MBまで拡張することの出来る大きな
システムキャッシュワーキングセットを確保します。システムは、利用可能なページが約250を
下回るまで、変更されたページが物理メモリ上に残ることを許可します。この設定は、大規模な
ネットワーク上で稼動するサーバにおすすめです。
「ページ」はメモリを管理する単位のこと(通常4KB/ページ)。
・「0」にした場合、ファイルシステムキャッシュが8MB確保され、空きメモリが少なくなると解放される。
・「1」にした場合、必要に応じて物理メモリのほとんどがシステムキャッシュとして確保され、空きメモリが
極端に少なくなると解放される。
これがLargeSystemCacheの設定による正しい動作らしい。
LargeSystemCacheを「1」にしておくと、メモリが開放されるどころか、物理メモリのほとんどが
システムキャッシュとして消費されてしまうみたいだ。
■調べていくと、②の「「IOPageLockLimit」の値を「8000000」に変更」は、数値が正しくない。
http://crazy-man.cocolog-nifty.com/blog/2007/12/iopagelocklimit_3717.html
例えば4MBを設定する場合、4x1024x1024=4194304となり、IoPageLockLimitの
値のデータに4194304(10進法)と入力する
1KB=1024Bである事を忘れていた。正しい値は、8x1024x1024=8388608である。
この値に修正する事にした。
■①のページングに関しては変更したままで問題なさそう。
---
2009/11/04 その後
IOPageLockLimit の値は、8388608へ変更。
LargeSystemCache の値は、きちんと調べた結果、「0」「1」どちらでも自分の環境では、
物理メモリの使用量が、40%~60%であまり変わらないので、「1」のまま様子を見る事にした。
システムキャッシュを優先とした「1」の設定の場合、アプリが使用する物理メモリが、
足りなくなるかな、とも思うが、メモリが4GB積んであり(32bitの為、3.2GB認識)、
支障がないように思えた。現状様子を見て、不具合が出るようなら元に戻そうと思う。
そして、タスクマネージャーが当てにならない事が良く分かった。
メモリチェックに使用したソフトは、メモリ管理ソフト「びーめむ」
http://www.vector.co.jp/soft/win95/hardware/se136974.html
---
2010064追記
LargeSystemCache の値「1」にするとアプリの挙動がおかしくなった為、
元の「0」へ戻しました。
LageSYstemCacheを1にすると、アプリケーションの挙動がおかしくなりますよ。
by AM (2010-06-04 15:51)
AMさん
おっしゃる通りです。追記しましたが、元の設定に戻してます。
by まさみや (2010-06-05 00:01)