zoukankan      html  css  js  c++  java
  • 获取cpu频率的代码

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


    // 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]:
    ", i); 
                printf("min_freq: %lu, max_freq: %lu
    ", min_freq, max_freq);
                printf("kernel freq: %lu, hardware freq: %lu
    ", cpufreq_get_freq_kernel(i), cpufreq_get_freq_hardware(i));
                printf("
    ");
            }   
        }   
    
        return 0;
    }


  • 相关阅读:
    固定思维的可怕(转)
    Javascript模块化编程:require.js的用法
    js中将字符串转为JSON的三种方式
    cf 55D 数位dp 好题
    fzu 2113 数位dp
    uestc 250 数位dp(水)
    hdu 3652数位dp
    数位dp 3943 二分法
    hdu 3943 经典数位dp好题
    hdu 4871 树的分治+最短路记录路径
  • 原文地址:https://www.cnblogs.com/aquester/p/9891593.html
Copyright © 2011-2022 走看看