C语言获取Linux系统内存情况

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 */
    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 for libc5 */
};

示例程序:

#include <stdio.h>
#include <sys/sysinfo.h>
 
int main()
{
    struct sysinfo si;
    sysinfo(&si);
    printf("Totalram:%d\n", si.totalram);
    printf("Available:%d\n", si.freeram);
    return 0;
}
posted @ 2018-07-23 14:09  EmrysChe  阅读(2693)  评论(0编辑  收藏  举报