前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >获取cpu频率的代码

获取cpu频率的代码

作者头像
一见
发布于 2018-08-10 09:12:32
发布于 2018-08-10 09:12:32
2.7K00
代码可运行
举报
文章被收录于专栏:蓝天蓝天
运行总次数:0
代码可运行

taskset是linux自带的一个命令,可用来将进程绑定到指定CPU 相关的函数有: sched_setaffinity, CPU_CLR, CPU_ISSET, CPU_SET, CPU_ZERO

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 // cpufreq库可在/usr/lib目录下找到
  
 			// 编译: g++ -g -o x x.cpp -lcpufreq
 
 			// 需要以root用户执行以下代码
 
 			//#include <cpufreq.h>
 
 			#include <stdio.h>
 
 			#include <sys/sysinfo.h> // get_nprocs
 
 
 
 			// 如果不存在/usr/include/cpufreq.h
 
 			#ifndef _CPUFREQ_H
 
 extern "C" int cpufreq_cpu_exists(unsigned int cpu);
 
 extern "C" unsigned long cpufreq_get_freq_kernel(unsigned int cpu);
 
 extern "C" unsigned long cpufreq_get_freq_hardware(unsigned int cpu);
 
 extern "C" int cpufreq_get_hardware_limits(unsigned int cpu, unsigned long *min, unsigned long *max);
 
 			#endif
 
 
 
 int main()
 
 			{
 
 			    // 取得cpu core的个数,proc是processor的意思
 
 int nprocs = get_nprocs();
 
 for (int i=0; i<nprocs; ++i)
 
 			    {
 
 if (0 == cpufreq_cpu_exists(i))
 
 			        { 
 
 			            unsigned long min_freq = 0;
 
 			            unsigned long max_freq = 0;
 
 			            cpufreq_get_hardware_limits(i, &min_freq, &max_freq);
 
 
 
 			            printf("cpu[%d]:\n", i); 
 
 			            printf("min_freq: %lu, max_freq: %lu\n", min_freq, max_freq);
 
 			            printf("kernel freq: %lu, hardware freq: %lu\n", cpufreq_get_freq_kernel(i), cpufreq_get_freq_hardware(i));
 
 			            printf("\n");
 
 			        } 
 
 			    } 
 
 
 
 			    return 0;
 
 			} 		
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014/06/20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档