시스템 트레이스 기록
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
시스템 트레이스는 시스템 전체 활동과 리소스 사용량을 보여주므로 앱 프로세스가 예약되고 실행되는 방식을 확인할 수 있습니다. Android 스튜디오 프로파일러의 시스템 트레이스 뷰는 일반적으로 다음을 조사하는 데 사용됩니다.
- 앱 및 시스템 프로세스가 기기 코어와 스레드에 분산되는 방식
- UI가 얼마나 매끄럽게 렌더링되는지
- 기기 및 앱 수준에서의 전력 사용량
이 페이지에서는 시스템 트레이스 뷰에서 가장 일반적으로 사용되는 시각적 요소를 간략하게 설명합니다. 여기에 설명되지 않은 시각화에 대한 자세한 내용은 차트 용어집을 참고하세요. 시스템 트레이스를 사용하는 경우의 자세한 예는 이 섹션의 다른 페이지를 참고하세요.
시스템 트레이스를 기록하면 타임라인에 다음 시각화가 표시됩니다. 다양한 시스템 리소스가 어떻게 상호 관련되어 있는지에 집중해야 합니다. 예를 들어 모뎀 전원 레일이 급증하는 경우 스레드 섹션으로 이동하여 당시 급증을 유발할 수 있는 스레드 활동을 확인해야 합니다.

- CPU 사용량: 앱의 CPU 사용량을 시간별로 사용 가능한 총 CPU 용량의 비율로 표시합니다. 타임라인의 섹션을 강조 표시하여 해당 기간의 세부정보를 필터링합니다.
- 상호작용: 사용자 상호작용 및 앱 수명 주기 이벤트를 타임라인을 따라 표시합니다 (디버그 가능 앱 프로세스 및 API 수준 26 이상을 실행하는 기기 필요).
- 디스플레이: 앱 UI의 렌더링이 얼마나 원활한지와 관련된 정보를 표시합니다. 수명 주기를 선택하여 앱이 기본 스레드 및
RenderThread
에서 각 프레임을 렌더링하는 데 걸리는 시간을 검사합니다. 이 정보는 UI 버벅거림 현상 및 프레임 속도 저하를 유발하는 병목 현상을 조사하는 데 도움이 됩니다.
스레드: 앱과 다양한 시스템 프로세스가 실행되는 스레드를 보여줍니다. 시스템 트레이스를 사용하여 UI 버벅거림을 조사하고 줄이는 방법을 자세히 알아보려면 UI 버벅거림 감지를 참고하세요.
팁: Threads 타임라인을 검사할 때 다음 단축키를 사용할 수 있습니다.
- 확대: Ctrl (macOS에서는 Command)을 누른 상태에서 W 키를 누르거나 마우스 휠을 스크롤합니다.
- 축소: Ctrl (macOS에서는 Command)을 누른 상태에서 S를 누르거나 마우스 휠을 뒤로 스크롤합니다.
- 왼쪽으로 이동:스페이스를 누른 상태에서 A를 누르거나 마우스를 오른쪽으로 드래그합니다.
- 오른쪽으로 이동: 스페이스를 누른 상태에서 D를 누르거나 마우스를 왼쪽으로 드래그합니다.
- 스레드 펼치기 또는 접기: 스레드 이름을 더블클릭하거나 스레드를 선택한 상태에서 Enter 키를 누릅니다.
CPU 코어: 기기의 각 코어에서 활동을 보여줍니다. 코어별 활동을 보면 최신 모바일 프로세서에서 어떤 것이 '빅' 코어이고 '리틀' 코어인지 파악할 수 있습니다. 스레드 활동에 마우스 포인터를 가져가면 코어가 특정 시점에 실행 중인 스레드를 확인할 수 있습니다.

프로세스 메모리 (RSS): 앱에서 현재 사용 중인 실제 메모리의 양을 표시합니다. 자세한 내용은 차트 용어를 참고하세요.
전원 레일: 실제 기기에서 프로파일링할 때 표시됩니다. 자세한 내용은 전력 사용량 검사를 참고하세요.
배터리: 앱의 배터리 사용량을 표시합니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# Record a system trace\n\nA system trace shows you system-wide activities and resource usage, so you can\nsee how your app processes are scheduled and run. The system trace view in the\nAndroid Studio Profiler is commonly used to investigate the following:\n\n- How app and system processes are distributed across device cores and threads.\n- How smoothly the UI renders.\n- Power usage at both the device and app level.\n\nThis page provides an overview of the most commonly used visuals in the system\ntrace view. See the [chart glossary](/studio/profile/chart-glossary/flame-chart)\nfor more details about visualizations not described here. For more detailed\nexamples of what to use a system trace for, see the other pages in this section.\n\nAfter you [record a system trace](/studio/profile#start-profiling), you see the\nfollowing visualizations displayed over a timeline. You should focus on how\ndifferent system resources are correlated; for example, if you notice a spike in\nthe modem power rail, you should go to the threads section and see what thread\nactivity could be causing the spike at the time.\n\n- **CPU Usage**: Shows CPU usage of your app as a percentage of total available CPU capacity by time. Highlight a section of the timeline to filter to the details for that time period.\n- **Interactions** : Shows user interaction and app lifecycle events along a timeline (requires a [debuggable](/studio/profile#profileable-v-debuggable) app process and a device running API level 26 or higher).\n- **Display** : Shows info related to how smooth your app UI renders. Select **Lifecycle** to inspect how long it takes your app to render each frame on the main thread and `RenderThread`. This info is helpful for [investigating\n bottlenecks that cause UI jank and low\n framerates](/studio/profile/jank-detection).\n- **Threads** : Shows the threads that your app and various system processes run\n on. To learn about how to use system traces to investigate and help reduce UI\n jank, see [Detect UI jank](/studio/profile/jank-detection).\n\n **Tip:** When inspecting the **Threads** timeline, the following shortcuts are available:\n - **Zoom in:** Press \u003ckbd\u003eW\u003c/kbd\u003e or scroll the mouse wheel while holding \u003ckbd\u003eCtrl\u003c/kbd\u003e (\u003ckbd\u003eCommand\u003c/kbd\u003e on macOS).\n - **Zoom out:** Press \u003ckbd\u003eS\u003c/kbd\u003e or scroll the mouse wheel backward while holding \u003ckbd\u003eCtrl\u003c/kbd\u003e (\u003ckbd\u003eCommand\u003c/kbd\u003e on macOS).\n - **Pan left:** Press \u003ckbd\u003eA\u003c/kbd\u003e or drag mouse right while holding \u003ckbd\u003eSpace\u003c/kbd\u003e.\n - **Pan right:** Press \u003ckbd\u003eD\u003c/kbd\u003e or drag mouse left while holding \u003ckbd\u003eSpace\u003c/kbd\u003e.\n - **Expand or collapse a thread:** Double-click the thread name or press \u003ckbd\u003eEnter\u003c/kbd\u003e while a thread is selected.\n- **CPU cores** : Shows the activity on each core in your device. Viewing the\n activity by core might give you an idea of which ones are the [\"big\" or\n \"little\" cores](https://en.wikipedia.org/wiki/ARM_big.LITTLE) in\n modern mobile processors. Hold the pointer over a thread activity to\n see which thread this core is running on at that particular time.\n\n- **Process Memory (RSS)**: Shows the amount of physical memory currently in use\n by the app. For more details, see the chart glossary.\n\n- **Power Rails** : Appears when you profile on a physical device. For more info,\n see [Inspect power usage](/studio/profile/power-profiler).\n\n- **Battery**: Shows your app's battery usage."]]