A host alkalmazás figyeli az AppDomain által felhasznált erőforrásokat. Néhány hoszt ezt az információt arra használja, hogy megállapítsa, meghaladja-e egy AppDomain memória- vagy CPU-fogyasztása a megfelelő szintet, és kényszeríti az AppDomain eltávolítását.
A monitorozással összehasonlíthatod a különböző algoritmusok erőforrás-felhasználását, és meghatározhatod, melyik algoritmus használ kevesebb erőforrást. Mivel az AppDomain megfigyelés önmagában többletterhelést jelent, a hostnak az AppDomain statikus tulajdonságát, a MonitoringEnabled igazra kell állítania, hogy nyílt megfigyelést mutassanak.A monitorozás nem kapcsolható ki, ha bekapcsolta; Ha megpróbálod a MonitoringEnabled-t hamissá állítani, egy ArgumentException jelenik meg。
Miután bekapcsolták a megfigyelést, a kódod lekérdezheti az AppDomain osztály által biztosított négy csak olvasható tulajdonságot.
- MonitoringSurvivedProcessMemorySize Ez az Int64 statikus tulajdonság adja vissza az összes aktuális CLR példány által irányított AppDomainek által használt bájtszámot. Ez a szám csak akkor garantált, amikor az utolsó szemétszállítás történt.
- Ennek az Int64 példánynak a MonitoringTotalAllocatedMemorySize tulajdonsága visszaadja az adott AppDomainhez kijelölt bájtok számát. Ez a szám csak akkor garantált, amikor az utolsó szemétszállítás történt.
- Ennek az Int64 példánynak a MonitoringSurvivedMemorySize tulajdonsága visszaadja az adott AppDomain által jelenleg használt bájtszámot. Ez a szám csak akkor garantált, amikor az utolsó szemétszállítás történt.
- A MonitoringTotalProcessorTime egy TimeSpan példány tulajdonság, amely egy adott AppDomain CPU-használatát adja vissza.
Az alábbiakban bemutatja, hogyan lehet ezeket a három tulajdonságot felhasználni az AppDomain változásainak ellenőrzésére két időbeli pont között:
Az alábbiakban bemutatjuk, hogyan kell használni az AppDomainMonitorDelta osztályt
|