How to list the 10 main CPU-consuming process, not in instantaneous CPU usage %, but rather in CPU usage since boot ?

i.e. :

  • a process that peaks at 50% CPU during 10 seconds won't be listed
  • a process constantly using 3% CPU during hours would be listed

I have a rooted Android 4.2.2, BusyBox, Terminal.

1 Answer 1


Not exactly what you are looking for but closely aligned solution that can help

Download 3C Toolbox. Amongst the tons of features it has, there is an option to record CPU usage, accessible from Settings →Recorder, where you define recording preferences. For your purpose choose

  • Time-frame and Rate → 1 minute, every second (warning-heavy battery usage so I selected 1 hour , 1 minute)

  • Enable Start Recorder on Boot

  • items to Record → CPU frequency, All processes, Battery information and whatever else you want from options

  • CPU Utilization can be selected for processes to show from 0.001% to 20%. Select what suits you - I chose 10%

  • Based on above enable Hide lowest consumer

High Level View: You get a recording of CPU utilization with processes contributing to it .This recording can be analyzed for the duration selected (with different zoom factors) and high level usage processes can be identified. These processes can be individually selected to show color coded display as below. In the bottom panel of utilization, other factors of interest like battery status, temperature,current etc can be alternatively displayed by tapping on the lower graph

enter image description here enter image description here enter image description here

Deep Dive: Your question is asking for specific time and utilization parameters for which you need to get raw data. This is available in .txt file in the location which you choose to save the recording (typically DCIM folder). You can extract relevant process data from the file and export to Excel worksheet and should be possible to filter per your needs ( I haven't tried that bit of exporting to worksheet) . Small extract showing frequency and process init1 below (Also,note that though I had selected recording option of 1 hour,1 minute, file says data is recorded 10 millisec)

3C Toolbox Pro (data multiple of 10ms) Refresh Rate: 6000 Start: 1469856508888 Total Recording: 264000 Frequency7 -23 : 99840|0|0 111360|0|0 111360|0|0 99840|0|0 111360|0|0 /**init 1** : 0|692|0 3|692|0 1|692|0 8|700|0 3|700|0 3|700|0 3|700|0 3|700|0 4|700|0 3|700|0 3|700|0 3|700|0 4|700|0 3|700|0 4|700|0 3|700|0 3|700|0 3|700|0 6|700|0 3|700|0 3|700|0 3|700|0 3|700|0 3|700|0 3|700|0 3|700|0 4|700|0 3|700|0 3|700|0 3|700|0 3|700|0 3|700|0 3|700|0 3|700|0 3|700|0 3|700|0 4|700|0 3|700|0 3|700|0 3|700|0 3|700|0 3|700|0 6|700|0 2|700|0 3|700|0 

  • Couple of other apps which are of use in monitoring app performance are detailed in answer here

  • Developer of 3C Tool Box is very responsive and can be contacted from within app Settings →Help and Support → Request Support or at XDA thread

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .