본문 바로가기

IT 이야기9

Perfetto - Recording traces on Android boot Android 13(T)부터는 Perfetto를 이용하여 booting시의 trace를 잡을 수 있습니다. boot process를 profiling할 때 크게 도움이 될 수 있을 거라 생각이 되어 어떻게 Perfetto를 이용하여 trace를 잡는 지 설명하도록 하겠습니다. Steps: 1. 먼저 Perfetto trace를 Record하기 위해서는 아래와 같이 Text 포맷으로 Recording 할 내용이 담긴 config 파일을 생성해야 합니다. # One buffer allocated within the central tracing binary for the entire trace, # shared by the two data sources below. buffers { size_kb: 32768.. 2023. 12. 1.
Android file system table (fstab.<device>)을 알아봅시다. 오늘은 Android의 Filesystem mount table을 공부해보려고 합니다. fstab의 정의 Linux 시스템에서는 file system table을 의미하는 fstab 파일에 장치이름, 마운트 지점, 파일 시스템 유형 및 파티션 보관일정이 정의 되어 있습니다. 이는 mount를 쉽게하기 위한 configuration table입니다. 그리고 부팅 시에 이 정보를 읽어 파일 시스템을 마운트 해야하는 지 여부와 파일시스템 checker(/system/e2fsck) 가 부팅시 파티션에서 오류를 확인하는 순서를 결정하게 됩니다. Android의 fstab. 파일을 열어보면 아래와 같은 정보들이 있는 것을 확인할 수 있습니다. 아래 예에서는 fstab 항목들에 logical partition으로 s.. 2022. 12. 5.
[Memory Usage] Memory 상태 분석 Android의 경우 Memory Usage를 측정할 때 많이 사용하는 명령어는 adb shell 명령어 중 하나인 dumpsys meminfo 입니다. dumpsys meminfo에 대해서는 다른 포스트를 이용하여 설명하기로 하고 이번에는 Linux에서 제공하는 Memory 확인 명령어인 "free" 와 "/proc/meminfo"에 대해 알아보도록 하겠습니다. 먼저 adb shell에서 간단하게 현재 시스템의 메모리 상태를 확인하려면 "free -m" (여기서 -m 옵션은 용량을 MB로 출력하라는 옵션입니다.)명령어를 입력하시면 됩니다. 그러면 아래와 같은 정보가 출력됩니다. 아래 내용을 보면 첫 줄의 값 중 used값인 3508이 사용 중인 메모리이고 free 값인 4173이 사용가능한 메모리로 생.. 2021. 12. 17.
[CPU] MIPS와 DMIPS CPU의 성능을 얘기할 때 평가 단위로 MIPS와 DMIPS가 많이 언급됩니다. 그래서 오늘은 이 두 단위의 정의를 알아보고 어떻게 측정되는 지 살펴보려고 합니다. MIPS의 정의를 알아보기 전에 먼저 CPI와 IPS에 대해 알아보겠습니다. CPI는 Cycle Per Instruction의 약자로 프로그램에 대한 명령어당 평균 사이클 수를 의미합니다. 명령어마다 실행시간이 다르기 때문에 프로그램이 실행한 모든 명령에 대하여 평균값을 구한 것입니다. 그리고 CPU에 존재하는 Clock을 기준으로 Clock이 높으면 1초에 CPU 명령을 많이 처리한다는 것을 의미하므로 프로그램 수행시간은 줄게 됩니다. 이를 기준으로 주어진 프로그램을 수행하는 데 필요한 프로세서 시간에 대한 계산식은 아래와 같습니다. T =.. 2021. 12. 16.