zoukankan      html  css  js  c++  java
  • Linux 系统调用sysconf

    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
    ",
            sysconf(_SC_NPROCESSORS_CONF));
        printf("The number of processors currently online (available) is :%ld
    ",
            sysconf(_SC_NPROCESSORS_ONLN));
        printf ("The pagesize: %ld
    ", sysconf(_SC_PAGESIZE));
        printf ("The number of pages: %ld
    ", sysconf(_SC_PHYS_PAGES));
        printf ("The number of available pages: %ld
    ", sysconf(_SC_AVPHYS_PAGES));
        printf ("The memory size: %lld MB
    ",
            (long long)sysconf(_SC_PAGESIZE) * (long long)sysconf(_SC_PHYS_PAGES) / ONE_MB );
        printf ("The number of files max opened:: %ld
    ", sysconf(_SC_OPEN_MAX));
        printf("The number of ticks per second: %ld
    ", sysconf(_SC_CLK_TCK));
        printf ("The max length of host name: %ld
    ", sysconf(_SC_HOST_NAME_MAX));
        printf ("The max length of login name: %ld
    ", sysconf(_SC_LOGIN_NAME_MAX));
        return 0;
    }


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

    251720487772977

    转载链接:https://www.cnblogs.com/Anker/p/3751369.html

  • 相关阅读:
    第二次作业循环语句
    c语言01次作业分支,顺序结构
    PAT 1027. Colors in Mars
    PAT 1026 Table Tennis
    PAT 1035 Password
    PAT 1038. Recover the Smallest Number
    PAT 1028 List Sorting (25)
    PAT 1041 Be Unique (20)
    PAT 1025 PAT Ranking
    1037. Magic Coupon
  • 原文地址:https://www.cnblogs.com/klcf0220/p/10757817.html
Copyright © 2011-2022 走看看