前几天服务器程序发现一个问题。 当对一些文件做了一个磁盘上的cache功能(把一些常用的结果直接保存到磁盘上,避免每次重复计算), 操作系统的/proc/meminfo里LowFree内存迅速减少, 基本上接近0。 但是程序一切正常,而且因为缓存的原因,CPU占用率和负载都大大降低,效果很明显。
后来去查了一下linux关于/proc/meminfo里 LowFree , LowTotal的一些文档是这样的:
- LowTotal: The total amount of non-highmem memory.
- LowFree: The amount of free memory of the low memory region. This is the memory the kernel can address directly. All kernel datastructures need to go into low memory
我遇到的那个问题,实际上是因为使用了磁盘上的文件作为cache后, 操作系统把这部分文件放入内存中做了缓冲。所以LowFree内存降低。 当需要内存时,这部分作为文件缓冲的内存可以随时释放出来。所以没有问题。