#include <stdio.h>
#include <unistd.h>
long get_memory_usage()
{
    long page_size = sysconf (_SC_PAGESIZE);
    long num_pages = sysconf (_SC_PHYS_PAGES);
    long mem = (num_pages/1024) * (page_size/1024);
    long long free_pages = sysconf (_SC_AVPHYS_PAGES);
    long long free_mem = (free_pages/1024) * (page_size/1024);
    fprintf(stderr,"Memory %lld MB\\%lld MB.\n", mem, free_mem);
    return (long)(free_mem);
}

获取结果与System Monitor中的不一致,不过内存管够的情况下一般在150~200MB之间波动,重启阈值设在100MB可以凑合用

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。