如何清除缓存
现在大多数最流行的Linux发行版都使用systemd,因此可以使用SystemCtl命令来清除内存缓存。
要仅清除PageCache,请使用此命令:
$sudo sysctl vm.drop_caches=1
要清除Dentries和Inodes,请使用此命令:
$sudo sysctl vm.drop_caches=2
要清除PageCache,请加上Dentries和Inodes,请使用以下命令:
$sudo sysctl vm.drop_caches=3
我们现在可以使用“free”命令或者“top”命令来检查系统的内存使用情况,并验证缓存已被清除。
如果您运行的系统不使用systemd,则可以使用以下命令来完成与相应systemctl命令相同的任务:
# sync; echo 1 > /proc/sys/vm/drop_caches # clear PageCache # sync; echo 2 > /proc/sys/vm/drop_caches # clear dentries and inodes # sync; echo 3 > /proc/sys/vm/drop_caches # clear all 3
什么是pagecache,entry和inode缓存?
有三种类型的缓存:
PageCache是缓存的文件。
此处存储最近访问的文件,以便不需要再次从硬盘查询,除非该文件更改或者缓存会清除为其他数据腾出空间。
这对硬盘驱动器较少读取和写入影响并提高速度,因为文件可以从内存读取更快。
Dentry和inode缓存是目录和文件属性。此信息与PageCache密切相关,尽管它不包含任何文件的实际内容。此缓存还减少了磁盘输入和输出操作。
日期:2020-07-07 20:56:12 来源:oir作者:oir