.NET Framework 2.0의 성능 카운터에 대한 문제를 모니터링 및 로깅 문제 해결 방법

기술 자료 번역 기술 자료 번역
기술 자료: 922775 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

공용 언어 런타임 (CLR) 성능 카운터를 사용하는 방법 및 Microsoft .NET Framework 2.0을 성능 카운터를 사용할 때 발생하는 알려진된 문제를 해결하는 방법을 설명합니다. 원격 컴퓨터에서 성능 카운터를 모니터링할 원격 컴퓨터의 관리자가 있어야 합니다. 원격 컴퓨터에 Microsoft Windows Server 2003을 실행하는 경우, 성능 로그 사용자 (PLU) 그룹 또는 PMU에 성능 모니터 사용자 그룹의 있어야 합니다. CLR 성능 카운터를 로그에 기록하려면 사용자가 관리 권한이 있는 사용자로 실행되도록 구성하십시오. 이 문서에서는 모니터링 또는 원격 컴퓨터를. CLR 성능 카운터를 로깅 관련된 문제에 대해 설명합니다.

소개

CLR에서 관리되는 코드를 함께 사용하여 다음과 같은 서비스 제공합니다.
  • 언어 간 통합
  • 코드 액세스 보안
  • 개체 수명 관리
  • 리소스 관리
  • 형식 안전성
  • 선점형 스레딩
  • 메타데이터 서비스 (리플렉션 형식)
  • 디버깅 및 프로파일링 지원
CLR 응용 프로그램의 기능을 추적하는 데 사용할 수 있는 성능 카운터가 있습니다. 성능 모니터 (Perfmon) 사용자 지정 성능 카운터를 만들 수 있습니다. 성능 카운터를 반환 값을 검토하여 시스템 성능을 모니터링할 수 있습니다.

추가 정보

.NET Framework 2.0 CLR 성능 카운터를 사용할 때 다음과 같은 알려진된 문제가 발생할 수 있습니다.

CLR 성능 카운터를 원격으로 모니터링할 수 없습니다.

원격 컴퓨터에 있는 Perfmon CLR 성능 카운터를 모니터할 때 다음과 유사한 오류 메시지가 나타날 수 있습니다.
컴퓨터에 연결할 수 없습니다.
이 문제를 해결하려면 다음 방법 중 하나를 사용하십시오.

방법 1: 원격 컴퓨터에서 원격 레지스트리 서비스가 실행 중인지 확인

이 문제가 발생하면 원격 컴퓨터에서 원격 레지스트리 서비스가 실행되고 있는지 확인하십시오. 이렇게 하려면 다음과 같이 하십시오.
  1. 시작 을, 실행 을, cmd 를 입력한 다음 확인 을 누릅니다.
  2. 명령 프롬프트에서 tasklist - 서비스, 다음 Enter 키를 누릅니다.

    확인할 Svchost.exe 호스트 프로세스에 있는 실행 중인 서비스 열에 RemoteRegistry 있습니다. 서비스가 실행되고 있지 않으면 3단계로 이동하십시오.
  3. 명령 프롬프트에 net 시작 RemoteRegistry 입력한 다음 Enter 키를 누릅니다.

방법 2: 필요한 사용 권한이 있는지 확인하십시오.

CLR 원격 컴퓨터에서 성능 카운터를 모니터링하려면 다음 조건이 충족되어야 합니다.
  • 원격 컴퓨터에서 Administrators 그룹의 구성원이어야 합니다.
  • 원격 컴퓨터의 Windows Server 2003을 실행하는 경우 성능 카운터를 모니터링하는 성능 모니터 사용자 그룹의 구성원이어야 합니다.
  • 원격 컴퓨터의 Windows Server 2003을 실행하는 경우, 성능 로그 사용자 그룹 구성원이 성능 카운터를 기록할 수 있어야 합니다. 또한 로깅 프로세스를 Administrators 그룹 또는 성능 로그 사용자 그룹 실행하도록 구성하려면 다음 계정으로 실행 명령을 사용해야 합니다.

원격 컴퓨터에 연결할 수 있지만 CLR 성능 카운터를 볼 수 없습니다.

Microsoft .NET Framework 1.1 서비스 팩 1 (SP1) Windows Server 2003 기반 원격 컴퓨터에서 실행 중인 경우 다음 Microsoft 기술 자료 문서에서 설명하는 핫픽스를 적용:
924421FIX: 응용 프로그램 성능이 떨어집니다 또는 컴퓨터가 Windows 2003 기반 컴퓨터에 .NET Framework 1.1 서비스 팩 1 기반 응용 프로그램을 실행할 때 응답하지 않는다

CLR 성능 카운터 로깅 시작하려고 하면 "ACCESS_DENIED" 오류 메시지가 나타난다

CLR 성능 카운터 로깅 시작하려고 하면 다음과 유사한 오류 메시지가 나타날 수 있습니다.
오류 코드 5 (ACCESS_DENIED)
shim 데이터베이스 버전 레지스트리 키 - 열 수 없습니다. v2.0.50727.00000. DLL "D:\WINNT\system32\mscoree.dll" 에서 ".NET Framework" 서비스 열기 프로시저 실패했습니다. 이 서비스에 대한 성능 데이터를 사용할 수 없습니다. 반환된 상태 코드는 첨부된 데이터의 첫번째 DWORD입니다. 상태 코드는 5 (ACCESS_DENIED) 입니다.
프로세스간 통신 (IPC) 통신에 명명된 이벤트 CLR 성능 카운터 DLL (Corperfmonext.dll) 로드할 첫 번째 프로세스 만들기 때문에 이 문제가 발생합니다. 명명된 이벤트 사용 권한을 사용하는 프로세스의 사용자 ID를 만듭니다.

예를 들어, 관리 권한을 가진 사용자는 Perfmon을 시작합니다. 그런 다음 사용자가 CLR 성능 카운터를 모니터링하여 시작합니다. 관리자 그룹에 부여된 사용 권한을 사용하여 명명된 이벤트가 만들어집니다. 이 시나리오에서는 사용자가 사용자가 CLR 성능 카운터 로깅 시작하려고 오류 메시지가 나타납니다. "성능 로그 및 경고" 서비스가 명명된 이벤트에 액세스할 수 없기 때문에 이 문제가 발생합니다.

이 문제를 해결하려면 "성능 로그 및 경고" 서비스에서 Corperfmonext.dll 파일을 먼저 로드하십시오. 이렇게 하려면 다음과 같이 하십시오.
  1. 시작 을, 실행 을, cmd 를 입력한 다음 확인 을 누릅니다.
  2. 명령 프롬프트에서 tasklist -m corperfmonext.dll 를 입력한 다음 Enter 키를 누릅니다. 나열된 각 프로세스에 주의하십시오.
  3. 명령 프롬프트에서 taskmgr 을 입력한 다음 Enter 키를 누릅니다.
  4. 프로세스 탭에서 2 단계에서 설명한 각 프로세스를 클릭한 다음 프로세스 끝내기를 누릅니다.
  5. 시작 을 누르고, 실행 을, Perfmon 을 입력한 다음 확인 을 누릅니다.
  6. 성능 로그 및 경고를 확장한 다음 카운터 로그 를 클릭하십시오.
  7. 사용하려면 원하는 서비스를 마우스 오른쪽 단추로 클릭한 다음 시작 을 클릭하십시오.
참고 이 문제는 .NET Framework의 향후 버전에서 수정될 예정입니다.

Perfmon 64비트 버전에서 32비트 관리되는 프로그램을 모니터링할 수 없습니다.

64비트 버전의 Corperfmonext.dll 파일 경우에만 64비트 프로세스를 열거합니다 때문에 이 문제가 발생합니다. 또한 32비트 버전의 Corperfmonext.dll 파일 32 비트 프로세스를 열거합니다. 64비트 컴퓨터에서 32비트 관리되는 프로그램을 보려면 시작 을 누르고, 실행 을, SystemRoot%\SysWOW64\perfmon.exe 를 입력한 다음 확인 을 누릅니다.

참고 이 문제는 .NET Framework의 향후 버전에서 수정될 예정입니다.

원격 컴퓨터에 대한 관리 프로그램을 다시 시작할 때 Perfmon 검색하지 않습니다.

원격 레지스트리 서비스가 로컬 서비스 계정으로 실행되기 때문에 이 문제가 발생합니다. 로컬 서비스 계정은 성능 로그 사용자 그룹 또는 성능 모니터 사용자 그룹의 구성원이 아닙니다. 따라서 로컬 서비스 계정은 CLR 성능 카운터 IPC 블록 액세스할 수 없습니다. 그럼에도 불구하고 원격 레지스트리 서비스 모니터링을 시작한 사용자를 가장하는 때문에 CLR 성능 카운터를 모니터링할 수 있습니다.

그러나 모니터링되는 프로세스가 다시 시작되면 새 IPC 블록은 원격 레지스트리 서비스가 있는 보조 스레드가 열릴. 이 보조 스레드가 클라이언트의 사용자를 가장이 있지 않습니다. 따라서 CLR 성능 카운터 IPC 블록 스레드가 액세스할 수 없습니다. 이 문제를 해결하려면 클라이언트에서 성능 카운터 모니터링을 다시 시작하십시오.

유사한 이름을 가진 여러 CLR 성능 카운터를 나타나는 "W3wp # 1"

여러 ASP.NET 작업자 프로세스, 유사한 이름을 가진 CLR 성능 카운터를 실행할 경우에는 "W3wp # 1"또는"W3sp # 2" 나타날 수 있습니다. .NET Framework 2.0 프로세스 ID 라는 카운터는 .NET CLR 메모리 성능 개체에 추가되었습니다. 이 카운터는 인스턴스 프로세스 ID를 표시합니다. 이 카운터는 프로세스와 관련된 CLR 성능 카운터를 확인할 수 있습니다.

.NET CLR 메모리 아래에 프로세스 ID 라는 카운터를 볼 수 없으면 성능 카운터 기호는 올바르게 설치되어 있지 않습니다. 이 문제를 해결하려면 다음과 같이 하십시오.
  1. 시작 을, 실행 을, cmd 를 입력한 다음 확인 을 누릅니다.
  2. 명령 프롬프트에서 unlodctr .NetFramework 를 입력한 다음 Enter 키를 누릅니다.
  3. \Microsoft.Net\Framework\v2.0.50727 폴더로 변경하려면 cd 명령을 사용하십시오.
  4. 명령 프롬프트에서 lodctr corperfmonsymbols.ini 를 입력한 다음 Enter 키를 누릅니다.

속성

기술 자료: 922775 - 마지막 검토: 2007년 8월 14일 화요일 - 수정: 1.2
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft .NET Framework 2.0
키워드:?
kbmt kbregistry kbperformancetool kbperfmon kbmsg kbinput kbfaq kbtshoot kbprb KB922775 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com