web-dev-qa-db-ja.com

マップされたファイルによるメモリ使用量(Win7 64ビット)

Win7の外部USB3HDDメモリ使用量との間でファイルをコピーすると、最大100%になり、そのままになります。これが障害のあるドライバーに起因する問題であるかどうかはわかりませんが、現在のバージョン(Gigabyte990fxaボード上のEtronUSB3コントローラー)を既に持っています。

RAMMap を使用すると、コピーされるファイルがメモリにマップされていることが明らかになります。をクリックする

Empty > Empty System Working Set

(ファイルのコピープロセスに問題を引き起こすことなく)一時的に問題を修正しているようですが、数秒ごとに実行する必要があります。この操作が10秒程度で発生するようにスケジュールする方法はありますか? RAMMapが使用している基本的なシステムコマンドは何ですか?または、代わりに、マップされたファイルがWindows 7で使用できるRAMの量を制限する方法はありますか?

他のプログラムがメモリを必要とする場合、マップされたファイルは通常メモリから削除されることを知っていますが、メモリ使用量が100%の場合、何かをクリックするたびにシステムが0.5秒ほどフリーズし始めます。したがって、未使用のメモリコンテンツが自動的に削除されます。ここで失敗しているようです。

3
Dexter

これは複雑な問題だと思います。問題の一部は間違いなくドライバーですが、他の部分はSyncToy/robocopyとTruecrypt(USB3ドライブは暗号化されています)です-Ctrl + C/Vでファイルをコピーするだけでは問題は現れません。 RAMはTruecryptコンテナのマップされたファイルでいっぱいになりますが、使用状況はタスクマネージャーに表示されず(RAMMAPのみ)、システムはフリーズしません。

したがって、MS、Etron/Gigabyte、およびTruecryptの人々は、おそらくこれについていくらかの責任を負うに値します。

いずれにせよ、何年にもわたる苦痛の末、私はついにこの問題の簡単な解決策を見つけました その他 スーパーユーザースレッド Windowsがファイルキャッシュを台無しにして、これにつながる ディスカッション Sysinternalsフォーラムで、最終的に誰かが作成した tool ( "SetSystemFileCacheSize")基本的には、Windows APIを呼び出すだけで、この悪夢を終わらせることができます。 (..意図したとおりに動作するWindowsの場合は@ billc.cn)

使い方はかなり簡単です:SetSystemFileCacheSize off 2048私のためにそれを修正します。最初の引数はキャッシュの下限であり、2番目の引数はキャッシュサイズの上限です。他の値を持つメモリの量によっては、それらの方が理にかなっている場合があります。詳細については、リンクを参照してください。 4Gを超える値用のx64バージョンもあります。

4
Dexter
1
magicandre1981