virutal memoryと物理メモリリークの違いを.netアプリケーションの観点から理解するのは難しいです。バーチャルvs物理メモリリーク
誰もがこの概念を具体的に説明することができますか?どのようにして、1つのタイプのリークだけを持つことができますか?
TIA
virutal memoryと物理メモリリークの違いを.netアプリケーションの観点から理解するのは難しいです。バーチャルvs物理メモリリーク
誰もがこの概念を具体的に説明することができますか?どのようにして、1つのタイプのリークだけを持つことができますか?
TIA
仮想メモリは、その使用のために利用可能としてマークされているプロセスのアドレス空間の範囲を備えています。メモリをリークすると、ほとんどのプログラムが処理する唯一の概念であるため、仮想メモリはほとんど常に関与しています。
物理メモリは通常、プログラムが仮想メモリにアクセスする場合にのみ消費されます。そのためには、OSが一致する物理メモリを提供する必要があります。これは、OSの制御下にあるため、仮想メモリとは独立して漏洩することはめったにありません。
OTOHでは、特定の仮想メモリページを強制的に物理メモリにマップされたままにすることで、プログラムは物理メモリの割り当てをより詳細に制御できます(これはOSによって異なります)。そのような場合、バグのあるプログラムが物理メモリをリークする可能性があります。
より柔軟な物理メモリリークは、プログラムが論理的にアクセスする必要がない仮想メモリのページに触れ続ける場合です。これは、そのようなページを熱い状態に保ち、ワーキングセット(物理的にマップされたページの集合)を小さく保つためにオペレーティングシステムの努力を邪魔します。
.NETアプリケーションでの物理メモリリークについては、どこで知りましたか? –
.NETアプリケーションにメモリリークがあります。このアプリケーションは、いくつかのCOM相互運用機能を提供しています。デバッグのメモリリークを探している間、私はこのコンセプトに遭遇しました。 – imak