-1

非常に大きなメモリ内ファイルを操作すると、OutOfMemoryException が発生する可能性があります。これが本番環境で発生すると、すべての .NET アプリケーションがクラッシュします。これは、すべてが同じ CLR 空間を共有しているためです。CLR を「リサイクル」する方法がわからないため、サーバーを再起動することになります。

デバッグ中に VS2010 でこれが発生すると、実行中の他のすべての .NET も失敗しますが、VS2010 自体は失敗しません。ただし、CLR を「リサイクル」する方法が理解できないため、ワークステーションを再起動することになります。

CLR メモリ空間を「リサイクル」するにはどうすればよいですか? .NET Framework (非 IIS) 用に作成された Win32 サービスを実行しているサーバーでのリサイクルについてはどうですか?

ありがとう。

4

1 に答える 1

0

CLR を循環させるには、プロセスを終了して再実行する必要があります。GC.Collect を呼び出して、GC が現在使用しているメモリを強制的に最適化することができます。しかし、それに関する限り、何かがそのメモリを必要とし、単に「循環」することはできません。

于 2012-08-15T02:56:37.503 に答える