[2022-03-16 16:28:30.497]cat /proc/meminfo
[2022-03-16 16:28:30.717]MemTotal: 1157152 kB
[2022-03-16 16:28:30.717]MemFree: 267992 kB
[2022-03-16 16:28:30.717]MemAvailable: 336876 kB
[2022-03-16 16:28:30.717]Buffers: 4 kB
[2022-03-16 16:28:30.717]Cached: 536092 kB
sysinfo 函数只能获取到 MemTotal MemFree Buffers 获取不到 Cached。
有没有码友知道,能不能通过库函数获取到cached的大小。
关于这方面有可推荐的书籍有没有。
#include <stdio.h>
#include <string.h>
#define N 80
/* Returns the cached memory size in bytes. */
size_t get_cached_memory_size()
{
char line[N], name[32];
size_t size = 0;
FILE *fp = fopen("/proc/meminfo", "r");
while (fgets(line, N, fp))
{
if (sscanf(line, "%s%ld", name, &size) == 2 && strcmp(name, "Cached:") == 0)
{
size *= 1024;
break;
}
}
fclose(fp);
return 0;
}
int main()
{
printf("Cached: %ld Bytes\n", get_cached_memory_size());
return 0;
}
同问啊同问
https://blog.csdn.net/zyhse/article/details/108324378
文件读取的方式获取