清理linux系统内存缓存

查看当前系统状态:

free -h
              total        used        free      shared  buff/cache   available
Mem:           15Gi       3.2Gi       4.1Gi       8.0Mi       8.0Gi        11Gi
Swap:            0B          0B          0B

 

一、下面先解释一下输出的内容:

Mem 行(第二行):是内存的使用情况。
Swap 行(第三行):是交换空间的使用情况。

total: 列显示系统总的可用物理内存和交换空间大小。
used: 列显示已经被使用的物理内存和交换空间。
free: 列显示还有多少物理内存和交换空间可用使用。
shared: 列显示被共享使用的物理内存大小。
buff/cache: 列显示被 buffer 和 cache 使用的物理内存大小。
available: 列显示还可以被应用程序使用的物理内存大小。

 

二、linux服务器内粗缓存过高导致运行慢

执行如下命令清除缓存:

echo 1 > /proc/sys/vm/drop_caches

当然,这个文件可以设置的值分别为1、2、3。

echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches

它们所表示的含义为:
echo 1 > /proc/sys/vm/drop_caches:表示清除pagecache。 
echo 2 > /proc/sys/vm/drop_caches:表示清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。
                                   slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache。 
echo 3 > /proc/sys/vm/drop_caches:表示清除pagecache和slab分配器中的缓存对象。

 

三、执行命令

free -h
              total        used        free      shared  buff/cache   available
Mem:           15Gi       3.2Gi       4.1Gi       8.0Mi       8.0Gi        11Gi
Swap:            0B          0B          0B

echo 1 > /proc/sys/vm/drop_caches
free -h
              total        used        free      shared  buff/cache   available
Mem:           15Gi       3.2Gi        11Gi       8.0Mi       162Mi        11Gi
Swap:            0B          0B          0B

echo 2 > /proc/sys/vm/drop_caches
free -h
              total        used        free      shared  buff/cache   available
Mem:           15Gi       3.2Gi        12Gi       8.0Mi       144Mi        11Gi
Swap:            0B          0B          0B

echo 3 > /proc/sys/vm/drop_caches
free -h
              total        used        free      shared  buff/cache   available
Mem:           15Gi       3.2Gi        12Gi       8.0Mi       144Mi        11Gi
Swap:            0B          0B          0B

 

你可能感兴趣的:(Linux,缓存,linux)