Search code examples
androidcpu-cores

Android count how many cpus are online?


How would i go about determining how many cpu's are online? I have a handler running every 1000 ms reading the current frequency and i also want to determine how many cores are online.

I've been looking through the directory "/sys/devices/system/cpu/". I've monitored "/sys/devices/system/cpu/cpu1/online" which is always 1, i've monitored /cpu0/online which is also always 1.

Is this information kernel/device specific? How can i find how many cores are online in a way that works on all devices?

edit: Runtime.availableProcessors() seems to work nicely, i'm still interested in knowing if there is a system file that tells you if a core is on/off?


Solution

  • I have success with availableProcessors() on the devices I have tried. A more detailed description of the function is available in the official Java doc. Another possible solution is described in this forum post.