인텔® VTune™ 명령줄을 사용하여 엔클레이브 내에서 핫스팟을 캡처하는 방법
- 다음을 통해 인텔® VTune™ 프로파일러를 실행했습니다.
$ export INTEL_LIBITTNOTIFY64=/opt/intel/oneapi/vtune/latest/lib64/runtime/libittnotify_collector.so
$ ./vtune -collect sgx-hotspots -collect-with runss -target-pid - 영토 기능은 인텔® VTune™ 프로파일러 요약 보고서에 나타나지 않습니다.
엔클레이브가 신뢰할 수 없는 응용 프로그램과 함께 정적 공유 라이브러리로 컴파일되고 응용 프로그램 프로세스 내에서 별도의 스레드로 실행됩니다. 인텔® VTune™ 핫스팟 보고서에는 대부분의 리소스를 실행하거나 사용하는 데 가장 많은 시간이 걸리는 전체 응용 프로그램의 기능이 표시됩니다. 엔클레이브가 일반적으로 설계에 따라 가볍기 때문에 영토 기능이 보이지 않을 수 있습니다. 응용 프로그램의 다른 기능은 더 많은 CPU 주기를 실행하기 때문에 핫스팟 보고서에 표시됩니다.
- 인텔® VTune™ 명령줄의 sgx-핫스팟 분석 유형을 사용하여 프로파일 엔클레이브를 확인하십시오.
- 빠르게 실행되는 영토 기능을 캡처하려면 sampling-interval knob를 사용하여 샘플링 간격을 단축하십시오.
$ vtune -collect sgx-hotspots -knob sampling-interval=.01 ./app - 명령줄에서만 인텔® VTune™을 사용하는 경우 다음을 실행하여 다양한 보고서의 쉼표로 구분된 값(CSV) 버전을 생성합니다.
$ vtune -report -format=csv - vtune -help 보고서를 사용하여 사용 가능한 보고서 이름(예: 콜택, 핫스팟, 하향식)을 찾으십시오.
- 영토에서만 데이터를 보려면 다음을 실행합니다.
$ vtune -report hotspots -format=csv -filter module=enclave.signed.so