728x90
Yocto에서는 빌드 과정 중 각 컴포넌트의 태스크를 빌드할 때 사용한 리소스(CPU, Disk) 사용량 및 빌드 시간을 저장할 수 있다. 이는 빌드 시간을 최적화하는데 많은 도움을 준다.
빌드 통계를 활성화 하는 방법은 conf 파일 (ex, local.conf)에 다음 라인을 추가하여 빌드하면 된다.
INHERIT += "buildstat"
빌드를 하면 아래 그림과 같이 build/tmp/buildstats/[timestamp] 디렉토리에 레시피 디렉토리가 있고 그 디렉토리 안에 태크스 별로 파일이 생성된다.
아래는 zip 컴포넌트의 do_compile 태스크 결과 파일이다.
이 파일들만을 가지고는 분석하기 어렵기 때문에 yocto에서는 시각화할 수 있는 python 스크립트를 제공한다. 다음 명령어를 실행하여 분석하기 쉽게 bootchart.png 파일로 만들어 낸다.
사전에 설치해야할 패키지 (MacOS 기준)
$ brew install cairo pkg-config gobject-introspection
$ pip3 install pycairo PyGObject
실행
$ ./poky/scripts/pybootchartgui/pybootchartgui.py build/tmp/buildstats/[timestamp] -o /tmp
아래 파일은 kirkstone에서 core-image-minimal을 빌드하고 pybootchargui 스크립트를 실행하여 나온 파일의 일부를 확대하여 캡쳐했다.
이 결과 값을 잘 분석하면 어디서 병목이 걸리는지 등에 대한 분석을 할 수 있다.
각 결과 값에 대한 자세한 정보는 https://subscription.packtpub.com/book/iot-&-hardware/9781788399210/1/ch01lvl1sec26/working-with-build-statistics 를 참고하기 바란다.
'Yocto' 카테고리의 다른 글
Yocto에 ccache 사용 - 1부 (0) | 2023.08.11 |
---|---|
Yocto Overrides 문법 변화 (0) | 2023.08.04 |
Yocto 버전 Upgrade 과정 (0) | 2023.07.31 |
QNX를 Yocto를 이용하여 빌드하는 것에 대한 생각 (0) | 2023.06.05 |
M1 Macbook에서 Yocto 빌드 환경 설정 2부 (네트워킹) (0) | 2023.05.23 |