성능과 메모리 프로파일 윈도우 사용하기
- 업데이트 날짜:2025-08-27
- 3분 (읽기 시간)
성능과 메모리 프로파일 윈도우는 어플리케이션이 어디에서 그 시간을 소요하고 어떻게 메모리를 사용하는가에 대해 결정하는 강력한 도구입니다. 성능과 메모리 프로파일 윈도우에는 대화식 테이블 디스플레이가 있어 시스템에 있는 각 VI의 시간과 메모리 사용을 보여줍니다. 테이블의 각 행은 특정한 VI의 정보를 가지고 있습니다. 각 VI에 의해 사용된 시간은 몇 개의 항목으로 나누어지고 요약됩니다. 성능과 메모리 프로파일 윈도우는 VI 실행 당 사용된 최소, 최대, 평균 시간을 계산합니다.
이 대화식 테이블 디스플레이를 사용하여 이 정보의 전체 또는 일부를 볼 수 있고, 다른 항목별로 정렬할 수 있고, 특정한 VI로부터 호출되는 SubVI의 성능 데이터를 볼 수 있습니다.
도구≫프로파일≫성능과 메모리를 선택하여 성능과 메모리 프로파일 윈도우를 디스플레이합니다. 다음 그림은 이미 사용 중에 있는 윈도우의 예를 보여줍니다.
메모리 사용 정보 수집을 하게 되면 수집 과정에서 VI의 실행 시간에 상당량의 오버헤드가 추가될 수 있기 때문에 이는 옵션 사항입니다. 메모리 사용 프로파일 확인란을 적절히 선택하여 성능과 메모리 프로파일 윈도우를 시작하기 전에 데이터 수집 여부를 선택해야 합니다. 이 확인란은 프로파일 세션이 일단 시작된 후에는 변경할 수 없습니다.
그 결과를 보기
테이블에 정보의 일부만 디스플레이하도록 선택할 수 있습니다. 일부 기본 데이터는 항상 볼 수 있지만, 성능과 메모리 프로파일 윈도우의 적절한 확인란에 확인 표시를 하거나 제거하여 통계, 세부사항, 메모리 사용(활성화된 경우)을 디스플레이하도록 선택할 수 있습니다.
성능 정보는 글로벌 VI를 위해 디스플레이됩니다. 그러나, 이 정보는 때때로 아래의 항목별 섹션에서 설명된 것과 해석이 다른 경우도 있습니다.
테이블 디스플레이에서 SubVI의 이름을 더블 클릭하여 SubVI를 위한 성능 데이터를 볼 수 있습니다. 이렇게 할 때, 새로운 행이 VI의 이름 바로 아래에 나타나고 그 SubVI 각각에 대한 성능 데이터를 가지게 됩니다. 글로벌 VI의 이름을 더블 클릭할 때, 새로운 행이 프런트패널의 각 개별 컨트롤에 대해 나타납니다.
원하는 열 헤더에서 클릭하여 테이블 디스플레이에 데이터의 행을 정렬할 수 있습니다. 현재 정렬된 열이 굵은체의 헤더 제목으로 나타납니다.
VI의 타이밍은 VI가 실행을 끝마치는데 경과된 시간의 양과 반드시 일치하지는 않습니다. 이것은 여러 스레드 실행 시스템이 2개 이상의 VI의 실행을 끼워넣을 수 있기 때문입니다. 또한, 사용자가 대화 상자에 응답하는데 걸리는 시간, 블록다이어그램의 [기다림(ms)] 함수에서 소모된 시간, 마우스 클릭을 확인하는데 걸리는 시간과 같은 VI와 관련이 없는 상당한 양의 오버헤드가 있습니다.
타이밍 정보
타이밍 통계 확인란에 확인 표시가 있을 때, VI의 타이밍에 대한 추가적인 상세 설명을 볼 수 있습니다.
타이밍 세부사항 확인란에 확인 표시가 있을 때, VI에 의해 소모된 총 시간을 여러 타이밍 항목으로 분류한 내역을 볼 수 있습니다. 많은 사용자 인터페이스를 가지고 있는 VI에 대해, 이 항목은 어떤 작동이 대부분의 시간을 차지하는지 결정하도록 도와줍니다.
메모리 정보
프로파일 과정을 시작하기 전에 메모리 사용 프로파일 확인란에 확인 표시를 하면 이용할 수 있는 메모리 사용 확인란에 확인 표시를 하면, VI가 메모리를 어떻게 사용하는지에 대한 정보를 볼 수 있습니다. 이 값은 VI를 위한 데이터 공간에 의해 사용된 메모리의 측정이고 모든 VI를 위해 필요한 부수적인 데이터 구조를 포함하지 않습니다. VI의 데이터 공간은 프런트패널 컨트롤에 의해 외부적으로 사용되는 데이터뿐만 아니라 컴파일러가 내부적으로 생성한 임시적인 버퍼도 가지고 있습니다.
메모리 크기는 VI 실행의 결과로 측정되며 정확한 전체 사용을 반영하지 않는 경우도 있습니다. 예를 들면, VI가 그 실행동안 큰 배열을 생성하지만 VI가 끝나기 전에 그 크기를 줄이면, 디스플레이된 크기는 중간의 배열 크기는 반영되지 않습니다.
이 섹션은 사용된 바이트 수와 관련된 데이터와 사용된 블록 수와 관련된 데이터의 두가지 데이터 세트를 디스플레이합니다. 블록은 단일 데이터를 저장하기 위해 사용된 메모리의 연속적인 부분입니다. 예를 들면, 정수의 배열은 멀티 바이트의 길이를 가질 수 있지만, 오직 하나의 블록을 차지합니다. 실행 시스템은 배열, 문자열, 경로, 그림을 위한 독립된 메모리의 블록을 사용합니다. 사용자 어플리케이션의 메모리 히프에 블록이 많으면 실행뿐만 아니라 전체적으로 성능을 저하시킬 수 있습니다.