int GetMinFreq(int core)
{
return ReadIntValue($"/sys/devices/system/cpu/cpu{core}/cpufreq/cpuinfo_min_freq");
}
int GetMaxFreq(int core)
{
return ReadIntValue($"/sys/devices/system/cpu/cpu{core}/cpufreq/cpuinfo_max_freq");
}
int GetCurFreq(int core)
{
return ReadIntValue($"/sys/devices/system/cpu/cpu{core}/cpufreq/scaling_cur_freq");
}
int ReadIntValue(string path)
{
if (!File.Exists(path))
{
return -1;
}
var text = File.ReadAllText(path);
if (!int.TryParse(text, out var value))
{
return -1;
}
return value;
}