获取cpu频率的代码

简介: taskset是linux自带的一个命令,可用来将进程绑定到指定CPU 相关的函数有: sched_setaffinity, CPU_CLR, CPU_ISSET, CPU_SET, CPU_ZERO // cpufreq库可在/usr/lib目录下找到 // 编译: g++ -g -o x x.
taskset是linux自带的一个命令,可用来将进程绑定到指定CPU
相关的函数有: sched_setaffinity, CPU_CLR, CPU_ISSET, CPU_SET, CPU_ZERO

  1. // cpufreq库可在/usr/lib目录下找到
  2. // 编译: g++ -g -o x x.cpp -lcpufreq
  3. // 需要以root用户执行以下代码
  4. //#include cpufreq.h>
  5. #include stdio.h>
  6. #include sys/sysinfo.h> // get_nprocs

  7. // 如果不存在/usr/include/cpufreq.h
  8. #ifndef _CPUFREQ_H
  9.     extern "C" int cpufreq_cpu_exists(unsigned int cpu);
  10.     extern "C" unsigned long cpufreq_get_freq_kernel(unsigned int cpu);
  11.     extern "C" unsigned long cpufreq_get_freq_hardware(unsigned int cpu);
  12.     extern "C" int cpufreq_get_hardware_limits(unsigned int cpu, unsigned long *min, unsigned long *max);
  13. #endif

  14. int main()
  15. {
  16.     // 取得cpu core的个数,proc是processor的意思
  17.     int nprocs = get_nprocs();
  18.     for (int i=0; inprocs; ++i)
  19.     {
  20.         if (0 == cpufreq_cpu_exists(i))
  21.         {
  22.             unsigned long min_freq = 0;
  23.             unsigned long max_freq = 0;
  24.             cpufreq_get_hardware_limits(i, &min_freq, &max_freq);

  25.             printf("cpu[%d]:\n", i);
  26.             printf("min_freq: %lu, max_freq: %lu\n", min_freq, max_freq);
  27.             printf("kernel freq: %lu, hardware freq: %lu\n", cpufreq_get_freq_kernel(i), cpufreq_get_freq_hardware(i));
  28.             printf("\n");
  29.         }
  30.     }

  31.     return 0;
  32. }


相关文章
|
8月前
|
Java Linux
linux中找到最耗CPU的那段Java代码
linux中找到最耗CPU的那段Java代码
|
1天前
|
机器学习/深度学习 TensorFlow API
Keras是一个高层神经网络API,由Python编写,并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验,能够用最少的代码实现想法,并且能够方便地在CPU和GPU上运行。
Keras是一个高层神经网络API,由Python编写,并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验,能够用最少的代码实现想法,并且能够方便地在CPU和GPU上运行。
8 0
|
1月前
|
并行计算 异构计算 Python
python代码torch.device("cuda:0" if torch.cuda.is_available() else "cpu")是什么意思?
【6月更文挑战第3天】python代码torch.device("cuda:0" if torch.cuda.is_available() else "cpu")是什么意思?
90 4
|
2月前
|
Java Linux
Linux下如何定位最耗CPU的JAVA代码
Linux下如何定位最耗CPU的JAVA代码
46 0
|
7月前
|
监控 数据可视化 Java
双CPU监控的目的以及主流编程语言实现代码示例
监控CPU使用率可以帮助检测系统瓶颈和性能问题,有助于及时识别并解决故障。
440 2
|
8月前
|
监控 调度 Python
电脑监控软件所含的CPU资源监控的代码(使用psutil库)
本文使用psutil库来获取CPU使用率、运行的进程、CPU温度、风扇速度和CPU核心的工作情况。这些信息可用于自定义电脑监控软件的CPU资源监控功能
500 1
|
8月前
|
存储 缓存 Java
这代码居然有差别?CPU友好的代码该这样写(4)
这代码居然有差别?CPU友好的代码该这样写
43 0
这代码居然有差别?CPU友好的代码该这样写(4)
|
8月前
|
存储 缓存 Java
这代码居然有差别?CPU友好的代码该这样写(3)
这代码居然有差别?CPU友好的代码该这样写
34 0
这代码居然有差别?CPU友好的代码该这样写(3)
|
8月前
|
缓存
这代码居然有差别?CPU友好的代码该这样写(2)
这代码居然有差别?CPU友好的代码该这样写
36 0
这代码居然有差别?CPU友好的代码该这样写(2)
|
8月前
|
存储 缓存 Java
这代码居然有差别?CPU友好的代码该这样写(1)
这代码居然有差别?CPU友好的代码该这样写
60 0
这代码居然有差别?CPU友好的代码该这样写(1)

热门文章

最新文章