Linux vmstat命令

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。

一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如:

vmstat 1 10

每一秒采集一次,执行10次。

free -m

如下显示free是显示的当前内存的使用,-m的意思是M字节来显示内容

total:总内存     32080m

used:已经使用   31764m

free:空闲         316m

shared:当前已经废弃不用,总是0

buffers Buffer 缓存内存数:16596m

cached Page 缓存内存数:7701m

第二部分(-/+ buffers/cache):

(-buffers/cache)used内存数 7466m   (指的第一部分Mem行中的used – buffers – cached)

(+buffers/cache) free内存数: 24614m  (指的第一部分Mem行中的free + buffers + cached)

可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数.

第三部分是指交换分区, 我想不讲大家都明白.

大家看了上面,还是很晕.第一部分(Mem)与第二部分(-/+ buffers/cache)的结果中有关used和free为什么这么奇怪.


其实我们可以从二个方面来解释.
对操作系统来讲是Mem的参数.buffers/cached 都是属于被使用,所以它认为free只有232.
对应用程序来讲是(-/+ buffers/cach).buffers/cached 是等同可用的,因为buffer/cached是为了提高程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用.

原文地址:https://www.cnblogs.com/paddygege/p/6371376.html