다음을 통해 공유


프로파일링 도구에서 메모리 할당 및 개체 수명 데이터 값 이해

.NET 메모리 할당 프로 파일링 방법의 Visual Studio 프로 파일링 도구 크기 및 할당에 만들어졌거나 소멸 가비지 컬렉션 및 함수에 대 한 자세한 내용은 개체의 수에 대 한 정보를 수집 호출 스택 이벤트가 발생 합니다.호출 스택은 프로세서에서 실행 중인 함수에 대한 정보를 저장하는 동적 구조입니다.

요구 사항

  • Visual Studio Ultimate, Visual Studio Premium, Visual Studio Professional

컴퓨터 프로세서를.NET Framework 개체에는 프로 파일링 된 응용 프로그램의 각 메모리 할당 메모리 프로파일러를 중단합니다.개체 수명 데이터도 수집되는 경우 프로파일러에서는 .NET Framework 가비지 수집이 수행된 후마다 프로세서를 중단합니다.데이터는 프로파일링되는 각 함수와 각 개체 형식에 대해 집계됩니다.

할당 데이터

메모리 이벤트가 발생하면 할당되거나 제거된 메모리 개체의 총 개수 및 크기가 증가합니다.

메모리 할당 이벤트가 발생하면 프로파일러에서는 호출 스택에 있는 각 함수에 대해 샘플 개수를 증가시킵니다.데이터가 수집될 때는 호출 스택에 있는 하나의 함수에서만 현재 해당 함수 본문의 코드를 실행하고 있는 것입니다.다른 함수 스택의 상위 계층에 반환 하기 위해 호출 하는 함수에 대 한 대기 중인 함수 호출입니다.

  • 할당 이벤트의 경우, 프로파일러에서는 현재 명령을 실행 중인 함수의 전용 샘플 수를 증가시킵니다.전용 샘플은 해당 함수의 총(포괄) 샘플 수에도 포함되므로 현재 활성 상태인 함수의 포괄 샘플 수도 증가합니다.

  • 프로파일러에서는 호출 스택에 있는 다른 모든 함수의 포괄 샘플 수를 증가시킵니다.

수명 데이터

.NET Framework 가비지 수집기는 응용 프로그램의 메모리 할당 및 해제를 관리합니다.가비지 수집기의 성능을 최적화하기 위해 관리되는 힙은 0세대, 1세대 및 2세대의 3개 세대로 나뉩니다.런타임 가비지 수집기는 새 개체를 0세대에 저장합니다.수집 후에도 남아 있는 개체는 수준이 올라가 1세대와 2세대에 저장됩니다.

가비지 수집기는 전체 개체 세대의 할당을 해제하여 메모리를 회수합니다.프로파일링된 응용 프로그램에서 만든 개체의 경우 개체 수명 뷰에 해당 개체의 개수, 크기 및 개체가 회수된 세대가 표시됩니다.