linux中缓存清除并释放内存


当linux频繁读取文件后,物理内存会很快被用完,当程序结束后,内存不会被正常释放,而是一直caching,因此有必要手动清理系统缓存释放内存。

linux中清除缓存,具体步骤:

1、linux缓存包括两部分,dns缓存和浏览器缓存。应先清除dns缓存,再清除浏览器缓存。

2、清除dns缓存。可重新启动NSCD服务来达成清除DNS Cache的效果。在linux输入框中输入命令service nscd restart或是nscd restart命令,并执行此命令即可。

3、清除浏览器缓存。在linux设置找到浏览器,打开浏览器记录,点击清除缓存,之后重新打开浏览器即可。

先执行sync命令

sync;sync;sync

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

清理linux内存缓存

echo 3 >/proc/sys/vm/drop_caches

关键的配置文件/proc/sys/vm/drop_caches。这个文件中记录了缓存释放的参数,默认值为0,也就是不释放缓存。他的值可以为0~3之间的任意数字,代表着不同的含义:

0 – 不释放
1 – 释放页缓存
2 – 释放dentries和inodes
3 – 释放所有缓存

此指令输入立即生效,意在释放所有缓存。

查看内存

free -h
              total        used        free      shared  buff/cache   available
Mem:          3.6Gi       967Mi       1.2Gi       113Mi       1.4Gi       2.3Gi
Swap:         4.0Gi          0B       4.0Gi
total——总物理内存
used——已使用内存,一般情况这个值会比较大,因为这个值包括了cache+应用程序使用的内存
free——完全未被使用的内存
shared——应用程序共享内存
buffers——缓存,主要用于目录方面,inode值等(ls大目录可看到这个值增加)
cached——缓存,用于已打开的文件

恢复默认设置

缓存可以提升系统的运行效率,如果发现系统内存经常不够用,应该考虑添加内存,而不是经常清理
echo 0>/proc/sys/vm/drop_caches

声明:YunHe.ME | 云和の小屋|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - linux中缓存清除并释放内存


想我所愿,勇往直前,不畏艰险,有远大志向