获取内存使用率(Linux C)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取内存使用率(Linux C)相关的知识,希望对你有一定的参考价值。


#define SYS_MEM_NAME_LEN 20
#define SYS_MEM_BUFF_LEN 256
#define SYS_100_PERSENT 100
int
get_sysMemUsage()
{
    FILE *fd;
    char buff[SYS_MEM_BUFF_LEN];
    double mem_used_rate;
    char name01[SYS_MEM_NAME_LEN];
    unsigned long mem_total;
    char name02[SYS_MEM_NAME_LEN];

    char name11[SYS_MEM_NAME_LEN];
    unsigned long mem_free;
    char name12[SYS_MEM_NAME_LEN];

    fd = fopen ("/proc/meminfo", "r");  

    fgets (buff, sizeof(buff), fd);  

    sscanf (buff, "%s %lu %s
", name01, &mem_total, name02);  

    fgets (buff, sizeof(buff), fd); 

    sscanf (buff, "%s %lu %s
", name11, &mem_free, name12); 

    mem_used_rate = (1.0 - (double)mem_free/(double)mem_total) * SYS_100_PERSENT;

    fclose(fd);

    return mem_used_rate;
}

以上是关于获取内存使用率(Linux C)的主要内容,如果未能解决你的问题,请参考以下文章