linux释放内存空间

时间:2021-10-09 01:02:05

释放内存前先使用sync命令做同步,以确保文件系统的完整性,将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件。否则在释放缓存的过程中,可能会丢失未保存的文件。

drop_caches的值可以是0-3之间的数字,代表不同的含义:

  • 0:不释放(系统默认值)
  • 1:释放页缓存
  • 2:释放dentries和inodes
  • 3:释放所有缓存

# 释放内存前先使用sync命令做同步,以确保文件系统的完整性
sync

# 释放所有缓存
echo 3 > /proc/sys/vm/drop_caches

释放完内存后改回去让系统重新自动分配内存

# 恢复默认值
echo 0 >/proc/sys/vm/drop_caches