常用文件缓存清理指令:
echo 1 > /proc/sys/vm/drop_caches
drop_caches的值可以是0-3之间的数字,代表不同的含义:
0:不释放(系统默认值)
1:释放页缓存
2:释放dentries和inodes
3:释放所有缓存
此次需要清理文件缓存的原因:
使用subprocess.popen调用 mysql指令 mysqldump将数据库数据导出,通过管道传递给程序处理时。程序出现意外,发现内存被使用了很大一部分。比平时多出2G内存。怀疑是管道返回的内容以内存文件形式缓冲在内存中(因为popen返回的是文件指针),通过该指令成功释放了2G内存。