Linux释放内存

首先,查看/proc/sys/vm/drop_caches的值

[root@server test]# cat /proc/sys/vm/drop_caches

0

值默认为0

然后,运行sync命令

[root@server test]# sync

手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)

最后,输入手动释放内存的命令

开始清理内存(需要root权限)

[root@server test]# echo 1 > /proc/sys/vm/drop_caches

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

0:不释放(系统默认值)

1:释放页缓存

2:释放dentries和inodes

3:释放所有缓存

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

echo 0 >/proc/sys/vm/drop_caches

free -m #看内存是否已经释放掉了。

如果我们需要释放所有缓存,就输入下面的命令:

[root@server test]# echo 3 > /proc/sys/vm/drop_caches