.NET GC 프로파일링, PerfView로 성능 병목을 찾아보세요!
by DD
3년 전
조회수 13
PerfView를 활용하여 .NET GC의 성능 문제를 분석하는 방법을 제시함
dotnet-gcdump 및 dotnet-counters와 비교하여 PerfView의 장점을 설명함
CLI 모드를 통한 성능 데이터 수집 방법과 주요 분석 항목을 소개함
PerfView, .NET GC 프로파일링의 핵심
PerfView는 Microsoft에서 개발한 강력한 성능 분석 도구이다. 구체적으로 CPU와 메모리 관련 성능 이슈를 분석하며, 특히 .NET GC 성능 분석에 특화되어 있다. 따라서 GC 발생 시점, GC 발생 사유, 객체 할당 콜스택 등 상세 정보를 제공한다.
dotnet-gcdump, dotnet-counters vs PerfView
dotnet-gcdump는 객체 할당 정보와 참조 정보를 제공한다. 반면 dotnet-counters는 실시간 GC 힙 정보를 확인할 수 있다. PerfView는 이 두 도구의 기능을 포괄하며, GCStats 분석, GC Heap Alloc Stacks 분석 등 다양한 분석 기능을 제공하여, .NET GC 성능 문제 해결에 도움을 준다.
PerfView CLI 옵션, 성능 데이터 수집 가이드
PerfView는 CLI 모드를 통해 다양한 옵션을 설정하여 성능 데이터를 수집한다. 구체적으로 /KernelEvents, /ClrEvents, /BufferSizeMB 등의 옵션을 사용하여 GC 성능 데이터를 수집한다. 따라서, /Process 옵션을 통해 특정 프로세스만 지정하여 수집 오버헤드를 줄일 수 있다.