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("配置的处理器数量为 :%ld\n", sysconf(_SC_NPROCESSORS_CONF));printf("当前在线(可用)的处理器数量为 :%ld\n", sysconf(_SC_NPROCESSORS_ONLN));printf ("页大小: %ld\n", sysconf(_SC_PAGESIZE));  printf ("页数: %ld\n", sysconf(_SC_PHYS_PAGES));  printf ("可用页面的数量: %ld\n", sysconf(_SC_AVPHYS_PAGES)); printf ("内存大小: %lld MB\n", (long long)sysconf(_SC_PAGESIZE) * (long long)sysconf(_SC_PHYS_PAGES) / ONE_MB );  printf ("最大打开的文件数: %ld\n", sysconf(_SC_OPEN_MAX));  printf("每秒的节拍数: %ld\n", sysconf(_SC_CLK_TCK));  printf ("主机名的最大长度: %ld\n", sysconf(_SC_HOST_NAME_MAX));  printf ("登录名的最大长度: %ld\n", sysconf(_SC_LOGIN_NAME_MAX)); return 0;
}

结果

配置的处理器数量为 :1
当前在线(可用)的处理器数量为 :1
页大小: 4096
页数: 248933
可用页面的数量: 17336
内存大小: 972 MB
最大打开的文件数: 1024
每秒的节拍数: 100
主机名的最大长度: 64
登录名的最大长度: 256

linux系统调用sysconf(获取系统信息)相关推荐

  1. ansible获取linux信息,ansible 获取系统信息的一些范例,ansible系统信息

    ansible 获取系统信息的一些范例,ansible系统信息 主机名:echo `ansible 193.168.120.101 -m setup -a "filter=ansible_h ...

  2. Bash 实现 Linux 版 sysinfo 获取系统信息

    以 CentOS 7 为基础写的,有想法的同学可以自行完善或提交PR. 执行结果如下图: Code China https://codechina.csdn.net/weixin_45919616/s ...

  3. Linux系统调用:创建和终止进程

    1.进程的三种状态 1.运行.要么在被CPU执行,要么等待被执行且最终会被内核调度. 2.停止.执行被挂起且不会被调度.收到特定信号后才能继续运行. 3.终止.进程永远地停止了.可能的原因有三种:(1 ...

  4. Linux——获取系统信息

    目录 一.关于时间的概念 二.linux系统中的时间 三.时间相关API实战 五.proc文件系统介绍 六.proc文件系统的使用 一.关于时间的概念 1.GMT时间 (1)GMT是格林尼治时间,也就 ...

  5. 朱有鹏-3.linux应用编程和网络编程-第3部分-3.3.获取系统信息

    3.3.1.关于时间的概念 3.3.1.1.GMT时间 (1)GMT是格林尼治时间,也就是格林尼治地区的当地之间. (2)GMT时间的意义?[用格林尼治的当地时间作为全球国际时间],用以描述全球性的事 ...

  6. 获取系统信息2——linux中使用随机数

    以下内容源于朱有鹏<物联网大讲堂>课程的学习整理,如有侵权,请告知删除. 1.随机数和伪随机数 随机数是随机出现,没有任何规律的一组数列. 真正的完全随机的数列是不存在的,只是一种理想情况 ...

  7. linux内核中获取虚拟地址api,Linux内核-系统调用

    Linux内核-系统调用 1.与内核通信 #系统调用在用户空间进程和硬件设备之间添加了一个中间层 作用:1.为用户空间提供了一种硬件的抽象接口 2.系统调用保证了系统的稳定和安全 3.出于每一个进程都 ...

  8. 什么是Linux系统调用system call?(Linux内核中设置的一组用于实现各种系统功能的子程序)(区别于标准C库函数调用)核心态和用户态的概念、中断的概念、系统调用号、系统调用表

    文章目录 什么是系统调用? 为什么要用系统调用? 系统调用是怎么工作的? 如何使用系统调用? _syscall*()是什么? errno是什么? 调用性能问题 Linux系统调用列表 进程控制 文件系 ...

  9. Linux系统调用相关概念

    目录: 1. Linux系统调用原理 2. 系统调用的实现 3. Linux系统调用分类及列表 4.系统调用.用户编程接口(API).系统命令和内核函数的关系 5. Linux系统调用实例 6. Li ...

最新文章

  1. [笔记]何为Linux及其文件系统(四)
  2. Leetcode - 347. Top K Frequent Elements(堆排序)
  3. JAVA期末考试工程部分_知到Java程序设计(山西工程职业学院)考试期末答案
  4. Android Binder 系统学习笔记(一)Binder系统的基本使用方法
  5. php smarty 语法,php之Smarty根本语法和三大变量
  6. 质量不同的球java编程_荐非常经典的java编程题全集-共50题(1-10)...
  7. 接口测试——Jmeter直连数据库无法获取查找到的数据个数
  8. 让数据更安全可用,阿里云存储多项新功能发布
  9. h5、app、小程序 互相跳转打开的方式总结
  10. k 均值算法(k-means)
  11. Oracle Primavera P6 Unifier等产品 Patch 补丁介绍
  12. 关于聪明与努力的文章.
  13. 如何估算一个项目的成本:CAPEX与OPEX的区别
  14. python sklearn svm_文本分类和预测 sklearn.svm.LinearSVC(1)
  15. CorelDRAW 2020Mac、2021mac 版本正式回归 macOS免激活版
  16. 关于网站目录结构需要注意的地方
  17. 与传统计算相比,云计算具有哪些优势?
  18. ant的下载与安装(一)
  19. uboot-链接脚本(u-boot.lds)
  20. Verilog语法_1(reg、wire、always语法)

热门文章

  1. 《细胞》突破性成果!北京林业大学钮世辉等解开“中国松”基因密码
  2. 无代码绘制基因表达箱线图
  3. 你可能也看过这个生物学家转行后创造的价值 120 亿美元的动画
  4. 一分钟学会在Mac中如何将文件批量重命名
  5. java实现相同分数排名_java做成绩排名表,如何实现同分同名次
  6. 迁移分支_资料 | 迁移学习简明手册
  7. 《算法竞赛进阶指南》数论篇
  8. 算法学习入门书籍 -- 2022.02.13
  9. QT Core | 信号槽01 - GUI上按钮触发应用程序里某个类的函数
  10. 计算机系统设计原理当当,操作系统精髓与设计原理