一、Linux下cpu的利用率
在Linux/Unix下,CPU利用率分为用户态,系统态和空闲态,分别表示CPU处于用户态执行的时间,系统内核执行的时间,和空闲系统进程执行的时间。平时所说的CPU利用率是指:CPU执行非系统空闲进程的时间 / CPU总的执行时间。
二、测试
在编写测试程序时,采用多线程,为了使线程不因为时间片耗尽而被切换,将线程的调度策略设置为SCHED_FIFO,优先级设置为最大,每个线程处理的逻辑为一个死循环,使线程一直处于RUNNING态,一直占用cpu。测试代码如下:
#include<stdio.h>
#include<unistd.h>
#include<pthread.h>
#include<stdlib.h>
#include<string.h>
#include<sched.h>
void *pthrd_fun(void *arg)
{
while(1);
}
int main()
{
pthread_t tid;

本文介绍了如何在Linux下测试CPU的利用率,通过编写多线程程序并设置线程调度策略为SCHED_FIFO,优先级设为最大,使线程持续运行,从而测试CPU满负荷工作。讨论了Linux的三种调度策略:SCHED_OTHER、SCHED_FIFO和SCHED_RR,以及如何改变线程的调度策略和优先级。
最低0.47元/天 解锁文章
6673

被折叠的 条评论
为什么被折叠?



