在Linux系统中,清理缓存可以通过以下几种方法来实现:
sync
和echo
命令同步文件系统缓存:
sync
这个命令会将所有挂载的文件系统的脏页(即已修改但未写入磁盘的页)刷新到磁盘。
清空页面缓存:
echo 3 > /proc/sys/vm/drop_caches
这个命令会清空页面缓存、目录项缓存和inode缓存。数字3
表示同时清除这三种缓存。
清空dentries和inodes缓存:
echo 2 > /proc/sys/vm/drop_caches
这个命令只会清空目录项缓存和inode缓存。
清空页面缓存:
echo 1 > /proc/sys/vm/drop_caches
这个命令只会清空页面缓存。
free
命令查看内存使用情况在清理缓存之前,可以使用free
命令查看当前的内存使用情况:
free -h
这个命令会以人类可读的格式显示内存的使用情况,包括总内存、已用内存、空闲内存等。
vmstat
命令监控系统状态vmstat
命令可以实时监控系统的虚拟内存统计信息,包括缓存的使用情况:
vmstat 1
这个命令会每秒更新一次系统状态,你可以观察buff
和cache
列的变化来了解缓存的使用情况。
drop_caches
脚本有些Linux发行版提供了方便的脚本来清理缓存。例如,在Ubuntu上,你可以使用以下命令:
sudo sysctl -w vm.drop_caches=3
这个命令的效果与方法一中的echo 3 > /proc/sys/vm/drop_caches
相同。
free
和vmstat
命令观察缓存的使用情况,再决定是否进行清理。通过以上方法,你可以有效地清理Linux系统的缓存。