日期:2014-05-16  浏览次数:20796 次

释放Ubuntu/Linux系统cache,增加可用内存空间

某台式机内存共3G,但free的内存只有200M,无法满足scala的jvm需求。

注意用top命令查看才能看到真正的free内存。下面是查看真正内存使用量的另一种命令。

watch -n 1 cat /proc/meminfo

搜索发现有三种方法都可以达到释放内存的目的。

watch -n 1 free -m
or:
free -m
上述这种方法只增加了几十M。

sudo sysctl -w vm.drop_caches=3
上述这种方法,目的是释放kernel用在cache上面的内存。增加了约1G.

下面这种方法释放的更多,但可能会影响系统的稳定!一定要小心使用。

sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
这个命令会释放无论是使用中的内存还是cache(page cache, inodes, and dentries),小心使用。

总的来说,还是第二种方法更合适,如果需要隔一段时间自动运行一次,可以使用cron jobs。