我正在研究一种节能算法,我想改变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;
}
答案 0 :(得分:1)
这是内核的工作,可以降低CPU频率。 作为用户空间应用程序,您没有足够的信息来了解当前使用该系统的其他进程。
即使你以root身份运行并且你有能力发出这样的命令,整个概念也是错误的。
寻找DVFS
内核驱动程序,就是你这样做的。