Linux 平台 C/C++ 获取CPU核心数



  • 在wzr同学的基础上,补充一下关于 Linux 下获取CPU核心数的方法。

    返回值 unistd.h sys/sysinfo.h 底层函数 查询文件
    总核数 sysconf(_SC_NPROCESSORS_CONF) get_nprocs_conf() __get_nprocs_conf() /sys/devices/system/cpu
    未禁用核数 sysconf(_SC_NPROCESSORS_ONLN) get_nprocs() __get_nprocs() /sys/devices/system/cpu/online

    即 sysconf 和 get_nprocs 都是通过访问 /sys/devices/system/cpu/online 获取当前可用核数。此外,向 /sys/devices/system/cpu/cpu${n}/onlinen 为cpu id)写入数据可以设置是否屏蔽该CPU,写入 0 表示禁用,1表示启用。



  • 相关源码:
    get_nprocs()

    sysconf()


 

Copyright © 2018 bbs.dian.org.cn All rights reserved.

与 Dian 的连接断开,我们正在尝试重连,请耐心等待