24 lines
658 B
C
24 lines
658 B
C
//
|
|
// Created by Iain on 2021/7/17.
|
|
//
|
|
|
|
#include<stdio.h>
|
|
#include <string.h>
|
|
|
|
#define BUFFER_SIZE_MEMINFO 128
|
|
#define SYSTEM_MEM_INFO_PATH "/proc/meminfo"
|
|
|
|
void updateSystemMem(unsigned int *all, unsigned int *fre, float *useage) {
|
|
char buf[BUFFER_SIZE_MEMINFO]; /*缓冲区*/
|
|
FILE *fp; /*文件指针*/
|
|
if ((fp = fopen(SYSTEM_MEM_INFO_PATH, "r")) == NULL) {
|
|
perror("fail to read /proc/meminfo");
|
|
return;
|
|
}
|
|
fgets(buf, BUFFER_SIZE_MEMINFO, fp);
|
|
sscanf(buf, "MemTotal: %u kB", all);
|
|
fgets(buf, BUFFER_SIZE_MEMINFO, fp);
|
|
sscanf(buf, "MemFree %u kB", fre);
|
|
*useage = 1 - (float) *fre / *all;
|
|
}
|