이 페이지에서

CPU 사용량 분석

Perf를 사용하면 Linux 데스크톱 및 임베디드 장치에서 애플리케이션의 CPU 및 메모리 사용량을 분석할 수 있습니다. Performance Analyzer는 Linux 커널에 포함된 Perf 도구를 사용하여 애플리케이션의 호출 체인에 대한 주기적인 스냅샷을 캡처하고, 이를 타임라인 뷰나 플레임 그래프로 시각화합니다.

일반적으로 성능 분석기는 프로파일링 대상 바이너리에 대한 디버그 심볼이 필요합니다. 프로파일링용 빌드는 별도의 디버그 심볼이 포함된 최적화된 바이너리를 생성하므로, 프로파일링 시 이를 사용하십시오.

데이터 수집

데이터를 수집하려면 다음 방법 중 하나로 Performance Analyzer를 시작하십시오:

  • Analyze > Performance Analyzer 로 이동하여 현재 애플리케이션을 프로파일링합니다.
  • 성능 분석 시작 (Start)를 선택하여 Performance Analyzer 에서 애플리케이션을 시작합니다.

    성능 분석기 도구 모음

참고: 데이터 수집이 자동으로 시작되지않으면 프로필 데이터 수집을 시작하세요 (Collect profile data)를 선택하십시오.

애플리케이션 분석을 시작하면 애플리케이션이 실행되고, Performance Analyzer가 즉시 데이터 수집을 시작합니다. 이는 Recorded 에서 표시되는 시간으로 확인할 수 있습니다. 그러나 데이터는 Perf 도구와 Qt Creator 에 번들로 제공되는 추가 헬퍼 프로그램을 통과하며, 두 프로그램 모두 데이터를 즉시 버퍼링하고 처리하기 때문에, 데이터가 생성된 지 몇 초 후에야 Qt Creator 에 도착할 수 있습니다. Processing delay 에는 예상 지연 시간이 표시됩니다.

프로필 데이터 수집을 중단하세요 (Stop collecting profile data)를 선택하거나 애플리케이션을 닫을 때까지 데이터가 수집됩니다.

Stop collecting profile data 을 선택하면 애플리케이션 실행 시 데이터 수집이 자동으로 시작되지 않습니다. 프로필 데이터는 계속 생성되지만, Qt Creator 에서 해당 데이터를 삭제하며, 이 버튼을 다시 선택할 때까지 데이터가 유지되지 않습니다.

기기에서 메모리 사용량 프로파일링

대상 기기에서 메모리 사용량을 프로파일링하기 위한 추적 지점을 생성하려면:

  • Analyze > Performance Analyzer Options > Create Memory Trace Points 로 이동합니다.
  • Performance Analyzer 도구 모음에서 ‘ 대상 기기에서 메모리 프로파일링을 위한 추적 지점을 생성합니다. ’를 선택합니다.

' Create Memory Trace Points ' 대화 상자에서 실행할 스크립트를 수정합니다.

'메모리 추적점 생성' 대화 상자

스크립트를 루트 권한으로 실행하려면 ‘ Elevate privileges using ’에서 사용할 권한을 선택하십시오.

OK 을 선택하여 스크립트를 실행합니다.

추적 지점에 대한 이벤트를 추가하려면 이벤트 유형 선택을 참조하십시오.

메모리 추적을 기록하여 타임라인의 샘플 행에서 사용량 그래프를 확인하고, 플레임 그래프에서 메모리 할당, 피크 및 해제를 확인하십시오.

qmake 프로젝트에 대한 별도의 디버그 정보 생성

릴리스용으로 컴파일된 애플리케이션에 대해서도 디버그 심볼을 생성하도록 빌드 구성을 수동으로 설정하려면, qmake 프로젝트의 빌드 설정을 편집하십시오.

  1. Projects > Build Settings 로 이동합니다.
  2. Separate debug info 에서 Enable 를 선택합니다.
  3. Yes ’을 선택하여 프로젝트를 재컴파일합니다.

‘방법: 분석’, ‘분석기’, ‘성능 분석기’ 및 ‘코드 분석항목도 참조하십시오 .

Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.