查看当前系统状态:
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