Intelligent Assistant
Chat with our virtual assistant to get answers promptly.
To analyze the high CPU load issue, you need to start an Energy analysis task in the Profiler and reproduce the issue.
The IDE integrates a diagnostic feature for detecting abnormal high CPU load scenarios. The procedure is as follows:

The CPU load is the average load within 3 seconds. If a thread runs at the maximum frequency of the big core for 3 seconds, the load reaches 100%. If a thread runs on different cores at different frequencies for different durations, the load is proportionally calculated according to the chip computing capability and running time.

High CPU load may occur in the following scenarios:
For above cases, conduct a thorough analysis to pinpoint the issue. After confirming the root cause, fix it. Then, monitor whether power consumption and thermal performance meet the performance requirements. If not, repeat the aforementioned analysis and troubleshooting steps.

When an application is used to watch videos while simultaneously viewing comments or recommendations, the mobile phone becomes severely overheated. The device temperature gradually returns to normal after the application is closed.
Select the CPU Core lane. You can see the duration of application processes is relatively longer in the details panel.

By checking the CPU frequencies in the Frequency lane, it can be seen that the frequencies for CPU cores are high, and CPU scheduling is frequent.
The Frequency sub-lane indicates the CPU frequency. Hovering your mouse over the Frequency sub-lane displays the CPU's running frequency.

When the frequencies of all CPU cores are high, select the CPU Core lane to view the CPU load source. In the details panel, you can see the CPU load primarily originates from the sub-threads (thread ID: 55523) on the application side.

During use of an application, the screen becomes severely hot, with the case temperature reaching as high as 40°C; after the application is closed, the temperature automatically returns to normal.
Select the CPU Core lane. You can see the duration of application processes is relatively longer in the details panel. The application process name varies depending on the application. Generally, it is the same as the application bundle name.

By checking the CPU frequencies in the Frequency lane, it can be seen that the frequencies for some CPU cores stay in the highest state during runtime. As shown in the following figure, CPU 10 and CPU 11 have their corresponding Frequency sub-lanes basically filled.

When the frequencies of some cores are high, select the Slice sub-lane corresponding to the core with a higher CPU frequency to view the CPU load source. That is, for the Slice sub-lanes corresponding to CPU 10 and CPU 11, you can see that the CPU load mainly comes from the OS_GC_Thread thread of the application process in the details panel.


When live streaming is watched on an application, the power consumption exceeds 100 mA and phone temperature is continuously rising.
Select the CPU Core lane. You can see the duration of application processes is relatively longer in the details panel.

By checking the CPU frequencies in the Frequency lane, it can be seen that the frequencies for some CPU cores (CPU 10 and CPU 11) are high, and each CPU core scheduling is frequent.

Check the CPU load sources in the details panel under the CPU Core lane. In the details panel, you can see that the CPU load mainly comes from the main thread of the application UI (thread ID 43436, which matches the application process ID).

First, find the Trace lane corresponding to the UI main thread, which can be found using the application bundle name or the thread ID obtained in the previous step. Second, choose the corresponding thread lane and then choose Thread States in the details panel to see that the proportion of threads in the Running state is very high.

Third, in Slice List panel, check whether redundant drawing exists and whether components are not reused. You can see that the image with [id: -1] continuously performs the drawing task, with occurrences reaching over 40,000. Also, you can use ArkUI Inspector to check related issues. For details about how to use the ArkUI Inspector, see Layout Analysis.
