Comment 0 for bug 1221871

Revision history for this message
Colin Ian King (colin-king) wrote :

In a vain attempt to reduce power on these phone devices I noticed that indicator-power-service is using just under 1% of one CPU all the time.

 CPU usage:
  PID Process USR% SYS% TOTAL%
  1358 indicator-power-serv 0.05 0.04 0.08 (very light load)

It seems to be waiting on poll() on a couple of threads which cumulatively add up to about 1.68 wakeups a second over a 1 hour analysis:

Top polling system calls:
  PID Process Syscall Rate/Sec Infinite Zero Minimum Maximum Average
                                                           Timeouts Timeouts Timeout Timeout Timeout
  1369 indicator-power-serv poll 1.3462 966 1925 0.0 sec 0.0 sec 0.0 sec
  1358 indicator-power-serv poll 0.3376 139 230 0.0 sec 25.0 sec 7.4 sec
 Total 1.6838 1105 2155

This contributes to a bunch of context switching by these threads:

Context Switches:
  PID Process Voluntary Involuntary Total
                             Ctxt Sw/Sec Ctxt Sw/Sec Ctxt Sw/Sec
  1369 indicator-power-serv 10.75 0.15 10.90 (moderate)
  1358 indicator-power-serv 3.53 0.07 3.60 (low)
  1372 indicator-power-serv 0.00 0.00 0.00 (idle)
 Total 14.29 0.22 14.50

I also observed a couple of brk() calls, and a small amount of heap growth which may indicate it has a small memory leak, but I am speculating on this.

Attached is a full report from a 1 hour of monitoring indicator-power-service for reference.