1、前言

  当前计算机都是多核的,linux2.6提供了进程绑定cpu功能,将进程指定到某个core上执行,方便管理进程。linux提供了sysconf系统调用可以获取系统的cpu个数和可用的cpu个数。

2、sysconf  函数

  man一下sysconf,解释这个函数用来获取系统执行的配置信息。例如页大小、最大页数、cpu个数、打开句柄的最大个数等等。详细说明可以参考man。

3、测试程序

  写一个测试程序,方便日后使用。

#include <stdio.h>
#include <unistd.h> #define ONE_MB (1024 * 1024) int main()
{
printf("The number of processors configured is :%ld\n",
sysconf(_SC_NPROCESSORS_CONF));
printf("The number of processors currently online (available) is :%ld\n",
sysconf(_SC_NPROCESSORS_ONLN));
printf ("The pagesize: %ld\n", sysconf(_SC_PAGESIZE));
printf ("The number of pages: %ld\n", sysconf(_SC_PHYS_PAGES));
printf ("The number of available pages: %ld\n", sysconf(_SC_AVPHYS_PAGES));
printf ("The memory size: %lld MB\n",
(long long)sysconf(_SC_PAGESIZE) * (long long)sysconf(_SC_PHYS_PAGES) / ONE_MB );
printf ("The number of files max opened:: %ld\n", sysconf(_SC_OPEN_MAX));
printf("The number of ticks per second: %ld\n", sysconf(_SC_CLK_TCK));
printf ("The max length of host name: %ld\n", sysconf(_SC_HOST_NAME_MAX));
printf ("The max length of login name: %ld\n", sysconf(_SC_LOGIN_NAME_MAX));
return 0;
}

我的虚拟机配置了4个核,1G的内存,32位的linux。执行结果如下:

最新文章

  1. golang调用c++的dll库文件
  2. 利用RNAseq数据做聚类分析
  3. 依网友要求发个修改award bios的方法(刷CPU微码)
  4. java 时间戳与日期字符串相互转换
  5. 【poj3243-Clever Y】高次同余方程-拓展BabyStepGiantStep
  6. 包装BufferedReader的readLine()输出行号
  7. quick-x在windows平台打包加密文件
  8. 如何使ActionBar不那么单调
  9. C++ 空类默认产生的类成员函数
  10. Intel_CS_WebRTC 验证性测试
  11. Git分支(3/5) -- 禁用 Fast Forward 合并
  12. Linux云计算运维-MySQL
  13. VS Code 之 smarty 扩展
  14. python pop方法
  15. UVA101 【The Blocks Problem】
  16. linux 循环读取文件的每一行
  17. Bean Validation规范
  18. 你真的理解devDependencies和dependencies区别吗?
  19. Delphi Webbrowser使用方法详解(一)
  20. 【vue知识点】1)vue生命周期

热门文章

  1. Maximal Rectangle leetcode java
  2. API手册 常用功能
  3. C# 中使用 RSA加解密算法
  4. 使用baksmali及smali修改apk并打包
  5. [转] ssh免密码登录服务器
  6. android触控,先了解MotionEvent
  7. Linux用户、组帐号和权限(学习笔记九)
  8. Speculative Execution in Hadoop
  9. java thread dump日志分析
  10. 机器学习笔记(十)EM算法及实践(以混合高斯模型(GMM)为例来次完整的EM)