この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 26378|答える: 0

[出典] AppDomainsを監視する

[リンクをコピー]
掲載地 2018/05/30 10:33:32 | | | |
ホストアプリケーションはAppDomainが消費するリソースを監視します。 一部のホストはこの情報を使って、AppDomainのメモリやCPU消費量が適切なレベルを超えているかどうかを判断し、AppDomainのアンインストールを強制します。

また、モニタリングを使って異なるアルゴリズムのリソース消費を比較し、どちらのアルゴリズムがより少ないリソースを使うかを判断することもできます。 AppDomainの監視には本質的にオーバーヘッドが発生するため、ホストはOpenMonitoringを表示するためにAppDomainの静的プロパティMonitoringEnabledをtrueに設定しなければなりません。一度オンになったモニターはオフにできません。 MonitoringEnabledをfalseに設定しようとすると、ArgumentExceptionがスローされます



監視がオンになると、AppDomainクラスが提供する以下の4つの読み取り専用プロパティをクエリできます。

  • MonitoringSurvivedProcessMemorySize このInt64静的プロパティは、現在のCLRインスタンスが制御するすべてのAppDomainで使用されるバイト数を返します。 この数字は、最後のゴミ収集が行われた時にのみ正確であることが保証されています。
  • このInt64インスタンスのMonitoringTotalAllocatedMemorySizeプロパティは、特定のAppDomainに割り当てられたバイト数を返します。 この数字は、最後のゴミ収集が行われた時にのみ正確であることが保証されています。
  • このInt64インスタンスのMonitoringSurvivedMemorySizeプロパティは、特定のAppDomainで現在使用されているバイト数を返します。 この数字は、最後のゴミ収集が行われた時にのみ正確であることが保証されています。
  • MonitoringTotalProcessorTimeは、特定のAppDomainのCPU使用率を返すTimeSpanインスタンスのプロパティです。

以下は、これら3つのプロパティを使ってAppDomainの2つの時点間の変化をチェックする方法を示します。



以下はAppDomainMonitorDeltaクラスの使い方を示します







先の:[再版]。 net/c# メッセージボックスのポップアップポップアップカウントダウンは自動的に閉じられます
次に:Newtonsoft.JsonはDataContract機能を無視します
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com