이 페이지에서는 최신 dotMemory 및 dotMemory Unit 릴리스의 업데이트 내용을 안내합니다. 주요 내용으로는 명령줄 프로파일링 도구, .NET 애플리케이션 지원, 메모리 덤프 분석이 있습니다.
30일 무료 평가 이용 가능
이제 MAUI 프레임워크를 기반으로 애플리케이션을 프로파일링할 수 있습니다.
현재 dotMemory는 Windows에서 .NET 7.0 이상을 대상으로 하는 WinUI 애플리케이션의 프로파일링을 지원합니다.
이 지원은 dotMemory 독립실행형과 Rider 및 ReSharper에 통합된 dotMemory에 제공됩니다.
.app
)을 지정할 수 있습니다. net7.0-macos
, net8.0-macos
Linux 및 macOS용 dotMemory 독립실행형 버전은 다음과 같은 기능을 제공하여 Windows 버전에 더 가까워졌습니다.
고정된 객체 힙에 있는 변경할 수 없는 객체에 대한 정보는 타임라인, Heap Fragmentation(힙 조각화) 다이어그램 및 Generations(생성) 뷰에 표시됩니다.
이제 Linux 및 macOS 운영 체제에서 dotMemory의 독립 실행형 버전을 실행할 수 있습니다.
이제 dotMemory를 사용하면 Linux에서 프로세스 덤프를 일반 스냅샷으로 가져오고 분석할 수 있습니다. dotMemory의 Linux 버전은 Linux OS에서 실행되는 프로세스에서 수집된 덤프만 가져올 수 있습니다.
2023.2 이전에는 메모리 할당 분석을 위해서만 Rider에서 dotMemory를 사용할 수 있었습니다. 2023.2에서는 dotMemory의 독립실행형 버전과 마찬가지로 Rider에서 메모리 스냅샷을 수집하고 이를 분석할 수 있습니다.
이제 Windows의 ARM64 CPU에서 dotMemory를 사용할 수 있습니다. 이는 dotMemory 독립실행형, Rider의 dotMemory, Visual Studio의 dotMemory 및 dotMemory 명령줄 도구의 모든 버전에 적용됩니다.
이제 Linux의 ARM32 CPU에서 dotMemory 명령줄 프로파일러를 실행할 수 있습니다. 지원되는 프레임워크는 .NET Core 3.1 및 .NET 5.0~7.0입니다.
Windows뿐 아니라 Linux 및 macOS에서도 JetBrains Rider에 dotMemory를 사용할 수 있습니다. Run(실행) 위젯과 Run(실행) | Switch profiler configuration(프로파일러 구성 전환) 메뉴에서 두 가지 새로운 프로파일링 모드인 Memory (sampled allocations)(메모리(샘플 할당)) 및 Memory (full allocations)(메모리(전체 할당))를 사용할 수 있습니다. dotMemory의 도움말에서 차이점을 자세히 알아볼 수 있습니다.
Run(실행) 메뉴의 실행 프로세스에 프로파일러를 연결하고 실시간으로 Timeline Graph(타임라인 그래프)를 확인할 수 있습니다. dotMemory Standalone에서와 마찬가지로, Memory Allocations(메모리 할당) 뷰를 여는 간격을 선택하세요. 이 뷰에서 할당된 객체 및 특정 기간의 할당 호출 트리를 분석할 수 있습니다.
아쉽게도 이 버전에서는 아직 메모리 스냅샷을 수집할 수 없습니다.
이제 명령줄 프로파일러에 --saving-mode
인수가 있어 dotMemory 작업 공간을 저장할 시기에 대한 조건을 설정할 수 있습니다.
이제 JetBrains Rider에서 바로 dotMemory를 사용할 수 있습니다.
dotMemory 플러그인은 스냅샷 수집을 허용하지 않으며 2022.2 릴리스에서는 Windows에서만 작동합니다.
dotMemory 명령줄 도구가 이제 Alpine 버전 3.13~3.15를 지원합니다. 다음 CPU 및 프레임워크가 지원됩니다.
프로파일링 API를 사용하여 스냅샷을 가져올 때 이제 DotMemory.GetSnapshot("snapshot name");
을 사용하여 스냅샷 이름을 지정할 수 있습니다.
이름은 dotMemory Home(홈) | Snapshots(스냅샷) 페이지에 표시됩니다.
스냅샷을 저장할 때 이제 dotMemory 명령줄 도구에 진행률이 표시됩니다.
Similar Retention(유사한 보존) 뷰에서 이제 데이터가 훨씬 빠르게 처리됩니다.
이제 dotMemory 명령줄 도구가 Apple Silicon 프로세서가 탑재된 컴퓨터에서 작동합니다. 이제 dotMemory CLT를 사용하여 .NET 6 애플리케이션(네이티브 모드) 및 .NET 5 애플리케이션(Rosetta 2 모드)을 프로파일링할 수 있습니다.
도미네이터 트리(객체 보존 그래프)의 알고리즘을 완전히 재작업했습니다. 객체 세트에 수억 개의 객체가 포함되어 있어도 dotMemory가 지정된 뷰를 여는 데 몇 분밖에 걸리지 않습니다.
이제 dotMemory는 ETW 이벤트를 기반으로 샘플링된 메모리 할당 데이터를 가져올 수 있습니다. 할당 데이터를 수집하는 기존의 (통계적인) 방법과 비교할 때 샘플링 정확도는 떨어지지만 다음과 같은 많은 이점이 있습니다.
이 기능은 Windows에서만 사용 가능합니다.
이제 Subsystems(하위 시스템) 뷰를 사용하여 메모리 할당 데이터를 분석할 수 있습니다. 하위 시스템은 동일한 타입, 네임스페이스 또는 어셈블리에 속하는 모든 메서드를 그룹화합니다. 결과 뷰에는 하위 시스템에서 생성된 객체와 각 하위 시스템의 병합된 호출 트리가 표시됩니다.
이번 릴리스에서 메모리 할당의 분석 방식이 한층 개선되었습니다. 두 개의 새 탭이 Memory Allocation(메모리 할당) 뷰에 추가되었습니다.
dotMemory 뷰 상단의 검색창이 더욱 유연하고 사용하기 쉽게 개선되었습니다.
이제 다음을 수행할 수 있습니다.
이제 서비스 메시지를 사용하여 메모리 할당 데이터 수집을 활성화 및 비활성화할 수 있습니다.
ReSharper를 사용하면 dotMemory의 클립보드에 복사된 스택 추적을 Rider/Visual Studio에서 자동으로 열 수 있습니다.
dotMemory 홈 화면을 완전히 새롭게 작업했습니다. 이제 새 프로파일링 세션을 구성 및 시작하고, 스냅샷으로 작업하고, 기타 기본적 작업을 수행하기가 훨씬 더 쉬워졌습니다.
이제 gcore
를 사용하여 Linux 시스템에서 수집된 .NET Core 애플리케이션의 덤프를 분석할 수 있습니다.
이제 dotMemory를 사용하여 임의의 시간 간격으로 메모리 할당을 분석할 수 있습니다. 타임라인에서 간격을 선택하기만 하면 Memory Allocation(메모리 할당) 뷰에 이 간격에 할당된 객체와 이를 할당한 스택 추적이 표시됩니다.
30일 무료 평가 이용 가능