Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用c代码更改cpu频率?_C_Linux - Fatal编程技术网

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

如何使用c代码更改cpu频率?,c,linux,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 -

我正在研究一种节能算法,我想改变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;
}
#包括
#包括
#包括
int main(){
char cmd[]=“sudo cpufreq set-c 1-f 1862Mhz”;
系统(cmd);
返回0;
}

这是内核的工作,用于调节CPU频率。 作为用户空间应用程序,您没有关于当前使用系统的其他进程的足够信息

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


查找
DVFS
内核驱动程序,这就是您要做的。

使用root权限运行您的程序?如果您想问这个问题,没有其他方法可以从不需要root权限的C程序更改CPU频率。你的使用案例是什么?@Lowerer我正在研究一种节能算法,我想改变CPU的速度以节省能源,因此我需要C代码,以便我可以改变CPU的速度。出于测试目的,你可能必须以
root
身份运行你的程序。但是在像Linux这样的多任务系统中,您如何在可能需要在不同时间和/或不同值更改CPU速度的多个用户任务之间进行仲裁呢,它将在调度决策时完成。算法将使用上一个时间间隔的数据,并决定当前时间间隔的CPU速度。