이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 26378|회답: 0

[출처] 앱도메인 모니터링

[링크 복사]
게시됨 2018. 5. 30. 오전 10:33:32 | | | |
호스트 애플리케이션은 AppDomain이 소비하는 자원을 모니터링합니다. 일부 호스트는 이 정보를 이용해 AppDomain의 메모리 또는 CPU 사용량이 적절한 수준을 초과하는지 판단하고, AppDomain을 삭제하도록 강제합니다.

모니터링을 통해 다양한 알고리즘의 자원 소비를 비교하고, 어떤 알고리즘이 더 적은 자원을 사용하는지 판단할 수도 있습니다. AppDomain 모니터링은 본질적으로 오버헤드가 발생하므로, 호스트는 OpenMonitoring 상태를 보여주기 위해 AppDomain의 정적 속성 MonitoringEnabled를 true로 설정해야 합니다.모니터링은 한 번 켜면 끌 수 없습니다; MonitoringEnabled를 false로 설정하려 하면 ArgumentException이 발생합니다



모니터링이 켜지면, 코드는 AppDomain 클래스가 제공하는 다음 네 가지 읽기 전용 속성을 쿼리할 수 있습니다.

  • MonitoringSurvivedProcessMemorySize 이 Int64 정적 속성은 현재 CLR 인스턴스가 제어하는 모든 AppDomain에서 사용하는 바이트 수를 반환합니다. 이 숫자는 마지막 쓰레기 수거가 이루어졌을 때만 정확히 보장됩니다.
  • 이 Int64 인스턴스의 MonitoringTotalAllocatedMemorySize 속성은 특정 AppDomain에 할당된 바이트 수를 반환합니다. 이 숫자는 마지막 쓰레기 수거가 이루어졌을 때만 정확히 보장됩니다.
  • 이 Int64 인스턴스의 MonitoringSurvivedMemorySize 속성은 특정 AppDomain에서 현재 사용 중인 바이트 수를 반환합니다. 이 숫자는 마지막 쓰레기 수거가 이루어졌을 때만 정확히 보장됩니다.
  • MonitoringTotalProcessorTime은 특정 AppDomain의 CPU 사용량을 반환하는 TimeSpan 인스턴스 속성입니다.

다음은 이 세 가지 속성을 사용하여 두 시점 간 AppDomain의 변화를 확인하는 방법을 보여줍니다:



다음은 AppDomainMonitorDelta 클래스를 사용하는 방법을 보여줍니다







이전의:[재인쇄]. net/c# 메시지박스 팝업 팝업 카운트다운이 자동으로 닫힙니다
다음:Newtonsoft.Json은 DataContract 기능을 무시합니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com