linux 系统调用sysconf【总结】
2023-09-14 09:00:38 时间
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。执行结果如下:
相关文章
- Linux线程池:打造高效并发系统(linux线程池c)
- Linux系统是怎样识别硬盘设备和硬盘分区的?
- 开始,到第几行结束从Linux第一行到最后一行:实现强大的智能操作(linux从第几行)
- Linux下如何更改系统日期(linux修改系统日期)
- 删除Linux系统中的用户(linux中删除用户)
- Linux系统下手动配置网卡的步骤(linux手动配置网卡)
- Linux分区挂载点:快速部署指南(linux分区挂载点)
- Linux系统如何高效实现分区操作(linux系统并分区)
- 掌握Linux调试命令 打造无敌系统(linux调试命令)
- 系统安装仿真Linux系统安装: 一步一步指导(仿真linux)
- 如何使用Linux系统快速启动(linux系统怎么启动)
- Linux系统软件安装指南(linux系统下软件安装)
- Linux系统发展:从分支到新高度(linux的分支)
- Linux分支:探索开源操作系统的多样性(linux的分支)
- Linux系统:各大分支漫谈(linux的分支)
- 管理Linux分支管理指南:实现高效代码开发(linux的分支)
- Linux定时任务管理:建立自动化运行系统(linux定时执行)
- 参考手册深入理解Linux系统的Man参考手册(linux的man)
- 关闭Linux系统防火墙指南(关闭linux的防火墙)
- 关闭Linux系统的防火墙(关闭linux的防火墙)
- Linux防火墙关闭之路(关闭linux的防火墙)
- Linux使用教程:轻松安装htop实现高效系统监控(linux安装htop)
- 如何在Linux系统下打开U盘?(linux下怎么打开u盘)
- MySQL在Linux系统上的卸载方法(mysql卸载linux)
- 如何在Linux系统中创建文件(linux创建文件)
- Linux笔试题解析:拯救你的面试之路(linux笔试选择题)
- Linux命令:查询系统信息(linux查询系统)
- 份Linux系统实现热备份:高效能更新你的数据(linux热备)
- 深度挖掘HDLM Linux: 打造极致可靠的IT系统(hdlm linux)