web-dev-qa-db-ja.com

Windows Server 2008R2でファイルキャッシュを制限または無効にするにはどうすればよいですか?

非常に高速なRAIDアレイと高速インターネット接続を備えたマシンがあります。しかし、アップロードが増えると、8 GBのメモリしか使用できなくなります本当に速く実行されます。

キャッシュを無効化または制限するにはどうすればよいですか?
(デバイスマネージャーから書き込みキャッシュを無効にしてみました。しかし、それは書き込みキャッシュにすぎず、役に立ちませんでした。)

9
Apache

キャッシュの要点は、それがnused ramを使用し、アプリケーションがさらに要求するとすぐにキャッシュを放棄することです。したがって、サイズを制限する必要はありません。制限すると、空きRAMが完全に無駄になるだけです。

4
psusi

システムAPI SetSystemFileCacheSize()を呼び出す必要があります
ここに記載: http://msdn.Microsoft.com/en-us/library/aa965240.aspx

一部のGUIプログラムで許可されています: http://technet.Microsoft.com/en-us/sysinternals/bb897561
ただし、システムの起動時に自動的に実行するために、CLIを使用することもできます: http://www.uwe-sieber.de/ntcacheset_e.html (ページの中央を見てください。2k8で動作します)

または、単にSetSystemFileCacheSize()を呼び出すPowerShellスクリプトを記述します

本番用にキャッシュを無効にすることは強くお勧めしません。
仮想化されたマシンでは、無効にするのではなく、キャッシュサイズを小さい値に制限することがよくあります。

3
Gregory MOUSSAT

当社では、Windows Server 2008 R2でもこの問題が発生しています。私たちの場合、マシンは完全に動かなくなりました。このサーバーバージョンのWindowsのバグのようです。VirtualBoxで実行している非常に小さいWindows 7マシンでも、Linuxでも同じ状況では発生しなかったためです。

他のユーザーがすでに投稿しているように、APIを使用してキャッシュを特定の制限に設定できますが、 SetSystemFileCacheSize.exe または NT Cache Setter など、それを直接使用するアプリケーションを見つけることができます=。

欠点は、再起動するたびにキャッシュを設定する必要があることです。これにより、キャッシュ全体を一度にフラッシュすることもできます。

ファイルキャッシュをVM 14 GBに設定RAMを4 GBに設定し、それが機能するようにします。また、フラッシュが適切に機能し、タスクマネージャで直接確認できます。 。

コマンドラインのサンプル:

  • 現在のWindows設定を表示します。

    SetSystemFileCacheSize.exe
    
  • ヘルプを表示:

    SetSystemFileCacheSize.exe /?
    
  • 最小サイズを8 MBに、最大サイズを128 MBに設定します。

    SetSystemFileCacheSize.exe 8 128
    
  • 最小サイズを無効にし、最大サイズを128 MBに設定します。

    SetSystemFileCacheSize.exe off 128
    
  • 最小サイズと最大サイズを無効にする:

    SetSystemFileCacheSize.exe off off
    
  • ファイルキャッシュをフラッシュします。

    SetSystemFileCacheSize.exe flush
    

注:このツールは、管理者権限で開始する必要があります。

2
Josef Klotzner

ファイルキャッシュを制限するには、がファイル共有パフォーマンスの最大オプションを有効にしていないことを確認します。また、使用メモリの最小化またはバランスを選択して、メモリファイルキャッシュの最小量を指定できます。

現在の構成を確認するには、次のように移動します。[スタート]-> [コントロールパネル]-> [ネットワーク接続]-> [ローカルエリア接続]-> [全般]タブで、[プロパティ]-> [ファイルとプリンターの選択]-> [プロパティ]を選択します。その他のオプション。

0
user630653