SYSINFO - Linux手册页

时间:2019-08-20 17:59:33  来源:igfitidea点击:

Linux程序员手册 第2部分
更新日期: 2017-09-15

名称

sysinfo-返回系统信息

语法

#包括

int sysinfo(struct sysinfo * info);

说明

sysinfo()返回有关内存和交换使用情况以及平均负载的某些统计信息。

在Linux 2.3.16之前,sysinfo()返回以下结构的信息:

struct sysinfo {
    long uptime;             /* Seconds since boot */
    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */
    unsigned long totalram;  /* Total usable main memory size */
    unsigned long freeram;   /* Available memory size */
    unsigned long sharedram; /* Amount of shared memory */
    unsigned long bufferram; /* Memory used by buffers */
    unsigned long totalswap; /* Total swap space size */
    unsigned long freeswap;  /* Swap space still available */
    unsigned short procs;    /* Number of current processes */
    char _f[22];             /* Pads structure to 64 bytes */
};

在上述结构中,内存和交换字段的大小以字节为单位。

从Linux 2.3.23(i386)和Linux 2.3.48(所有体系结构)开始,结构为:

struct sysinfo {
    long uptime;             /* Seconds since boot */
    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */
    unsigned long totalram;  /* Total usable main memory size */
    unsigned long freeram;   /* Available memory size */
    unsigned long sharedram; /* Amount of shared memory */
    unsigned long bufferram; /* Memory used by buffers */
    unsigned long totalswap; /* Total swap space size */
    unsigned long freeswap;  /* Swap space still available */
    unsigned short procs;    /* Number of current processes */
    unsigned long totalhigh; /* Total high memory size */
    unsigned long freehigh;  /* Available high memory size */
    unsigned int mem_unit;   /* Memory unit size in bytes */
    char _f[20-2*sizeof(long)-sizeof(int)];
                             /* Padding to 64 bytes */
};

在上述结构中,内存和交换字段的大小以mem_unit字节的倍数给出。

返回值

成功时,sysinfo()返回零。发生错误时,将返回-1,并设置errno以指示错误原因。

错误说明

EFAULT
信息不是有效的地址。

版本

sysinfo()首次出现在Linux 0.98.pl6中。

遵循规范

此功能特定于Linux,不应在打算移植的程序中使用。

备注

该系统调用提供的所有信息也可以通过/ proc / meminfo和/ proc / loadavg获得。

另外参见

proc(5)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/