海运的博客

Linux服务器内存使用分析及内存缓存

发布时间:May 4, 2012 // 分类:系统调优 // No Comments

free语法:

free [-b|-k|-m|-g] [-l] [-o] [-t] [-s delay] [-c count] [-V]
-b,-k,-m,-g 以b/k/m/g为单位输出
-o 旧格式输出,无缓存行
-t 显示物理内存和虚拟内存之和
-s 刷新时间,不间断输出
-c 输出次数,配合-s使用

free使用:

free -m
             total       used       free     shared    buffers     cached
Mem:          1000        641        359          0        126        305
-/+ buffers/cache:        209        791
Swap:         1024          0       1024
total:内存总数1000M
used:已经使用的内存641M,包括缓存的内存数
free:空闲内存359M,不含缓存的内存数
buffers/cached:缓存的内存数
-buffers/cache:真实已用的内存数209M,即used-buffers-cached
+buffers/cache:真实可用的内存数791M,即free+buffers+cached
SWAP:虚拟内存数

内存缓存说明:

Buffers:用于缓存块设备读写的内存大小(buffer cache),使用先进先出策略。这部分缓存主要用于目录项、
inode等文件系统元数据。如果ls一个包含很多内容的目录,可以发现这个值明显增大。
Cache:用于缓存文件系统读写的内存大小(page cache),使用最少使用策略,这部分缓存主要用于打开的文件,
如果 cache 的值很大,说明缓存的文件较多,在进行读写时,命中率也将提高,如果频繁访问到的文件大部分被缓存,
则必然会减少磁盘的读IO。

清空内存缓存:

sync 
#先将缓存写入磁盘
echo 1 > /proc/sys/vm/drop_caches
#释放buffer cache
echo 2 > /proc/sys/vm/drop_caches
#释放page cache
echo 3 > /proc/sys/vm/drop_caches
#释放buffer cache和page cache

标签:linux, free, 内存, linux缓存策略, linux释放内存缓存

发表评论

分类
最新文章
最近回复
  • chainofhonor: 感谢,用dnsmasq设置自动判断BIOS和UEFI成功了
  • 海运: 不好意思,这个是很多年前的,现在也许已经不适用,我现在也不用多线了。
  • CQ: -m state --state NEW 替换成-m conntrack --ctstate NEW
  • CQ: 你好,我入站已经成功分流,但是不知道出站怎么设置,PREROUTING替换成POSTROUTI...
  • K: 好的,谢谢,我去试试!
  • 海运: 可以试试3proxy
  • daha: PHP的怎么使用???
  • 海运: 换回了5.3内核,5.8用5.3 dtb虽然能开机且负载正常,但也有其它问题,不建议使用。
  • shangyatsen: 后面的内核高精度计时器的问题使用5.4或者5.3的dtb会正常吗?我也发现有这个日志出现。感觉...
  • 海运: 缺少相应模块?