Linux手动清除缓存的方法
Linux长时间使用会导致cache缓存占用过大,甚至拖累CPU的使用率,可以通过命令手动释放Linux内存,详细教程如下:
一:先查看下当前Linux的内存占用情况
- 命令:
free -m
示例如下:
代码语言:javascript复制[root@linuxbaike ~]# free -m
total used free shared buff/cache available
Mem: 1839 305 510 0 1023 1381
Swap: 1024 0 1024
如上述例子所示,使用一台1核2G的云服务器做测试:
total:是指计算机总物理内存; used:已用的内存; free:空余的内存; total = used free shared:被多个进程共享的内存; buff/cache:buffers用于存放要输出到disk(块存储)的数据,在这里buff是指被OS buffer住的内存(written to disk);cached存放从disk上读出的数据,Buffer和cache是为了提高IO性能并由OS管理。
一般我们清理Linux缓存主要是清理buff/cache占用的内存资源。
二:执行sync命令
- 命令:
sync
执行sync命令是为了确保文件系统的完整性,手动执行sync命令,将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件。
三:执行清除Linux缓存命令
- 命令:
echo 3 > /proc/sys/vm/drop_caches
/proc是一个虚拟文件系统,通过对它的读写操作做为与kernel实体间进行通信的一种手段。通过修改/proc中的文件来对当前kernel的行为做出调整。所以,我们通过调整/proc/sys/vm/drop_caches来释放内存。
综上,3条命令即可清除Linux缓存释放内存。