free -g 说明

free -g 说明:
free -g -/+ buffers/cache 说明:
buffer 写缓存,表示脏数据写入磁盘之前缓存一段时间,可以释放。sync命令可以把buffer强制写入硬盘
cache  读缓存,读取过的文件,会缓存一段时间。可以释放。(在数据库中,大多数情况下cache占用内存缓存热点数据。)
 
Men 行表示当前内存的使用情况。
 
-/+ buffers/cache: 基于应用角度考虑(计算已使用内存时减去buffers/cache,计算可使用内存时加上buffers/cache)的内存情况,也可理解为真实的内存使用情况。
 
即 此行(-/+ buffers/cache)的used=Men行的used-Men行的cached-Men行的buffers。(原因是buffer 和cached分别为写读缓存,都可以刷进磁盘。)
所以在一般系统上数据库系统上看剩余内存就看-/+ buffers/cache 的free 。但是对于用于仅用于缓存数据库的系统,还须看free列。因为缓存数据库如redis,mc需要把所有数据cache在内存。
 
swap 即交换分区。即某时候缓存不够用,把部分内存数据先写入盘(不是数据落地,依旧要用于程序访问的)。腾出内存给其他程序。一般swap列的used出现非0值说明内存有过不足。但内存有空闲的时候swap的used并不自动清空(可不必在意)。如上图。
如何清空swap。关闭重启: swapoff -a && swapon -a
 
 
/etc/sysctl.conf
vm.drop_caches 参数一般设置为0。或者默认不设置。表示可缓存。
也可以临时  echo xx > /proc/sys/vm/drop_caches
有3个值:
清空 pagecache:
sync
echo 1 > /proc/sys/vm/drop_caches
或者:
sync
sysctl -w vm.drop_caches=1
清空 dentries 和 inodes:
sync
echo 2 > /proc/sys/vm/drop_caches
或者:
sync
sysctl -w vm.drop_caches=2
清空所有缓存。慎重(pagecache、dentries 和 inodes):
sync
echo 3 > /proc/sys/vm/drop_caches
或者:
sync
sysctl -w vm.drop_caches=3
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/vansky/p/9425960.html