linux c控制cpu利用率
2014-08-01 15:43
302 查看
1、在x86体系结构中系统定时器的默认频率是100,即i386处理上的每秒钟时钟中断100次。所以在i386中每10ms产生一次时钟中断。
2、进程调度,可能是主动让出cpu,也可能是时钟中断中让出cpu。
3、控制cpu的利用率,实际上是控制cpu在totalTime时间内繁忙的时间busyTime。busyTime和totalTime的比值就是cpu的利用率。
4、查看cpu利用率的办法有很多中,比如在虚拟机文件系统proc下使用cat
/proc/cpuinfo。不过使用这种办法得到的cpu利用率不是很清晰。可以使用top
命令代替之。为了效果更加明显,可以将top的刷新时间间隔设置的小一点。如top -t 0.5//0.5秒刷新一次。
5、程序设计:usleep()函数可以使进程挂起,不占用cpu。假设此时主机上运行的进程占用cpu比较小,那么可以认为此时cpu为空闲状态。这样只需要控制进程运行的时间和usleep的时间即可以控制整个linux系统的cpu利用率。为了减少cpu调度产生的切换时间,我们使运行时间为系统一个时钟中断的时间,即设定总时间为100ms,运行时间为10ms,空闲时间为90ms。
程序代码如下:
#include
#include
#include
#define totalTime 100000 //totaltime is 100ms = 100000us
#define startTime 0
void main(){
while(1){
struct timeval tvpre, tvafter;
gettimeofday(&tvpre, NULL);
while(1){
gettimeofday(&tvafter, NULL);
int interval = tvafter.tv_usec - tvpre.tv_usec;//get the
usec
while(interval < 0) {
interval += 1000000; //interval可能小于0,需要对interval取模。
}
if(interval >= totalTime/10) break;
}
usleep((totalTime*9)/10);
}
return ;
}
2、进程调度,可能是主动让出cpu,也可能是时钟中断中让出cpu。
3、控制cpu的利用率,实际上是控制cpu在totalTime时间内繁忙的时间busyTime。busyTime和totalTime的比值就是cpu的利用率。
4、查看cpu利用率的办法有很多中,比如在虚拟机文件系统proc下使用cat
/proc/cpuinfo。不过使用这种办法得到的cpu利用率不是很清晰。可以使用top
命令代替之。为了效果更加明显,可以将top的刷新时间间隔设置的小一点。如top -t 0.5//0.5秒刷新一次。
5、程序设计:usleep()函数可以使进程挂起,不占用cpu。假设此时主机上运行的进程占用cpu比较小,那么可以认为此时cpu为空闲状态。这样只需要控制进程运行的时间和usleep的时间即可以控制整个linux系统的cpu利用率。为了减少cpu调度产生的切换时间,我们使运行时间为系统一个时钟中断的时间,即设定总时间为100ms,运行时间为10ms,空闲时间为90ms。
程序代码如下:
#include
#include
#include
#define totalTime 100000 //totaltime is 100ms = 100000us
#define startTime 0
void main(){
while(1){
struct timeval tvpre, tvafter;
gettimeofday(&tvpre, NULL);
while(1){
gettimeofday(&tvafter, NULL);
int interval = tvafter.tv_usec - tvpre.tv_usec;//get the
usec
while(interval < 0) {
interval += 1000000; //interval可能小于0,需要对interval取模。
}
if(interval >= totalTime/10) break;
}
usleep((totalTime*9)/10);
}
return ;
}
相关文章推荐
- linux下CPU利用率的控制(Python实现)
- linux下简单的自适应CPU利用率的控制(Python实现)
- Linux&nbsp;查看CPU和内存等信息
- linux 控制cpu利用率,已经远程访问linux和文件传输
- linux下CPU利用率的控制
- linux下查看CPU.内存型号.pci&nbsp;转自…
- Linux如何控制 CPU 利用率
- linux下如何获取cpu的利用率
- Linux 任务控制的几个技巧( &, [ctrl]-z, jobs, fg, bg, kill)
- LINUX在多核环境下,如果控制使用的CPU数目
- linux下/proc/stat 计算CPU利用率
- Linux多核CPU控制启动核数
- 查看linux cpu和内存利用率__linux - top命令
- 基于嵌入式Linux的MPC850&nbspUSB 驱动程序的实现
- Linux下获得CPU利用率和内存使用情况(C实现)
- linux/proc/stat计算cpu利用率
- linux /proc/stat 计算CPU利用率
- Linux下获得CPU利用率和内存使用情况
- 查看linux cpu和内存利用率__linux - top命令
- 查看linux下CPU利用率,可用内存