如何使用c代码更改cpu频率?

时间:2015-12-10 20:37:01

标签: c linux

我正在研究一种节能算法,我想改变CPU的频率以节省能量,所以我需要C代码以便我可以改变CPU的频率。我试过下面的代码,但是问题代码是它直接执行Linux命令,命令需要root权限。有没有办法用C代码更改CPU频率。

我的代码是......

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 int main(){
     char cmd[]="sudo cpufreq-set -c 1 -f 1862Mhz";
     system(cmd);
     return 0;
}

1 个答案:

答案 0 :(得分:1)

这是内核的工作,可以降低CPU频率。 作为用户空间应用程序,您没有足够的信息来了解当前使用该系统的其他进程。

即使你以root身份运行并且你有能力发出这样的命令,整个概念也是错误的。

寻找DVFS内核驱动程序,就是你这样做的。