查看内存使用情况,可以使用命令 free -m
其结果大致如下:
total used free shared buffers cached
Mem: 32108 30681 1426 0 123 21165
-/+ buffers/cache: 9392 22715
Swap: 34287 1262 33025
在第一部分Mem 行中有如下参数:
* total: 内存总数,即32108 MB
* used: 已经使用的内存数,即 30681 MB
* free: 空闲的内存数:即 1426MB
* shared:当前已废弃不用,总是 0
* buffers Buffer: 缓存内存数,即 123 MB
* cached Page: 缓存内存数,即 421MB
其中,内存总数与已经使用内存数和空闲内存数的关系是:
total (32108) = used (30681) + free (1426)
在第二部分内容(-/+ buffers/cache)中个参数如下所示:
(-buffers/cache): 真正使用的内存数,即9392M,他指的是第一部分的 used - buffers - cached
(+buffers/cache): 可用的内存数,即22715M,他指的是第一部分的 free + buffers + cached
其含义可以理解为:-buffers/cached 反映的是被程序实实在在用掉的内存,而 +buffers/cached反映的是可以被使用(或者说挪用)的内存总数。
查看系统内存的使用状态
监控报警可用内存空间不足,常规的解决方案如下:
本文将介绍定期清除页面缓存,但是过会儿内存又被占满问题的分析。
查看更详细的内存信息:
$ cat /proc/meminfo |grep -E "Buffer|Cache|Swap|Mem|Shmem|Slab|SReclaimable|SUnreclaim"
清除缓存策略:
1:清除page cache
2:清除slab分配器中的对象(包括目录项和inode)
3:清除page cache和slab分配器中的对象
OOM killer及Overcommit
Linux buffer/cache 内存占用过高的原因以及解决办法
Linux查看Buffer&Cache被哪些进程占用
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)