linux系统一般不需要我们手动释放内存,必要时也就是释放缓存的操作。

首先了解下配文件/proc/sys/vm/drop_caches:这个文件记录了缓存释放的参数,默认值为0,也是说不释放缓存。它的值可以为0-3之间任意数字,代表着不同的含义:

0 – 不释放

1 – 释放页缓存

2 – 释放dentries和inodes

3 – 释放所有缓存

大概了解参数后,就剩下操作了。

首先查看系统内存使用情况free -g 这是以GB显示。

其中第一行用全局角度描述系统使用的内存状况:
total——总物理内存

used——已使用内存,一般情况这个值会比较大,因为这个值包括了cache+应用程序使用的内存
free——完全未被使用的内存
shared——应用程序共享内存
buffers——缓存,主要用于目录方面,inode值等(ls大目录可看到这个值增加)
cached——缓存,用于已打开的文件

used——已使用
free——未使用

首先我们需要使用sync指令,将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件。否则在释放缓存的过程中,可能会丢失未保存的文件。

 sync    #将所有未写入系统缓冲区的数据写到磁盘中

 echo 2 > /proc/sys/vm/drop_caches    #修改记录缓存参数,该参数按个人情况修改

  此指令输入后会立即生效,可以查询现在的可用内存明显的变多了

    这时查看内存已恢复正常并修改回默认值。