一.前言
监测Linux系统的内存使用情况,使用【free】是最直接的。
查看机器的内存使用信息【/proc/meminfo】
二.分析
1.【free】
我们一起看下面的一个输出:
free –m 表示以M为单位查看内存使用情况,在这个输出中,我们重点关注的应该是free列与cached列的输出值。
由输出可知,此系统共7.8G内存,系统空闲内存还有621M,其中,Buffer Cache占用了210M,Page Cache占用了4056M,由此可知系统缓存了很多的文件和目录,而对于应用程序来说,可以使用的内存还有4888M,当然这个4888M包含了Buffer Cache和Page Cache的值。在swap项可以看出,交换分区还未使用。所以从应用的角度来说,此系统内存资源还非常充足。
一般有这样一个经验公式:
应用程序可用内存/系统物理内存>70%时,表示系统内存资源非常充足,不影响系统性能,
应用程序可用内存/系统物理内存20%时,表示系统内存资源紧缺,需要增加系统内存,
20%应用程序可用内存/系统物理内存70%时,表示系统内存资源基本能满足应用需求,暂时不影响系统性能。
(比如上图,4888/7869=0.621,所以基本满足性能)
tips:
watch是一个非常有用的命令,几乎每个linux发行版都带有这个工具,通过watch,可以动态的监控命令的运行结果,省去手动执行的麻烦。)
例如:
在【watch】后面跟上需要运行的命令,watch就会自动重复去运行这个命令,默认是2秒钟执行一次,并把执行的结果更新在屏幕上。
-n:指定重复执行的时间
-d:表示高亮显示变动。
2.【meminfo】
$cat /proc/meminfo 读出的内核信息进行解释