I'm trying to get the real max cpu cores speed.
This code works just for the four first cores of my nexus 5x, but it fails for the last two cores:
for (int i = 0; i < cpuCoresNumber; i++) {
try {
BufferedReader freqBufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(new File("/sys/devices/system/cpu/cpu" + i + "/cpufreq/scaling_max_freq"))));
int freq = Integer.valueOf(freqBufferedReader.readLine()).intValue() / 1000;
freqBufferedReader.close();
coreMaxFreqArray[i] = freq;
} catch (Exception e) {
e.printStackTrace();
}
}
For the first 4 i get real values, for the last 2, first i get real values, but sometimes i get lower values like for example 600, 300, 0.... and the real value of that two last cores is 1800mhz.