free -h查看内存情况,发现free部分远小于available

发布时间 2023-07-27 14:29:12作者: scandit

原因是buff/cache占用了大量内存,需要手动释放下:

echo 3 > /proc/sys/vm/drop_caches
#参数说明:
#0:不释放(系统默认值)
#1:释放页缓存
#2:释放dentries和inodes
#3:释放所有缓存

Cache Memory(缓存内存)

当读写文件的时候,Linux内核为了提高读写性能与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory (缓存内存). 即使程序运行结束后,Cache Memory也不会自动释放,这就会导致在Linux系统中程序频繁读写文件后,会发现可用物理内存会很少.  其实这缓存内存 (Cache Memory) 在需要使用内存的时候会自动释放,所以不必担心没有内存可用. 

参考:linux系统free查看内存,发现可用物理内存很少,但是查看进程却发现没进程占用大内存