果冻想
认真玩技术的地方

Linux性能监测:内存篇

前言

内存是评判服务器的一个非常重要的指标。内存的多少,可能会直接影响着服务器的整体性能。所以,在Linux性能监测这个系列中,我这里也单独将内存整理出来进行总结。

物理内存和虚拟内存

说到内存,我们都会说到物理内存和虚拟内存的。物理内存就是真实的硬件设备,也就是咱们的内存条;虚拟内存(Virtual Memory)是把计算机的内存空间扩展到硬盘,物理内存(RAM)和硬盘的一部分空间(SWAP)组合在一起作为虚拟内存为计算机提供了一个连贯的虚拟内存空间,好处是我们拥有的内存“变多了”,可以运行更多、更大的程序,坏处是把部分硬盘当内存用整体性能受到影响,硬盘读写速度要比内存慢几个数量级,并且RAM和SWAP之间的交换增加了系统的负担。

我们需要记住的一点是Linux会在物理内存不足时,使用交换分区的虚拟内存。

free命令详解

free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。在Linux系统监控的工具中,free命令是最经常使用的命令之一。虽然在《Linux top命令详解》和《Linux vmstat命令详解》这两篇文章中也有详细的说内存和性能相关的内容,但是很多时候,我们还是会先敲上free -m先看看内存信息。所以,我们需要会用free命令,以及可以看到free命令输出的信息。

free命令习惯上有以下几种形式:

free -k # 以KB为单位显示内存使用情况
free -m # 以MB为单位显示内存使用情况
free -g # 以GB为单位显示内存使用情况
free -h # 以人类友好的方式显示内存使用情况

当我们输入free -m时,系统就会输出以下内容:

[root@Test_MC]# free -m

             total       used       free     shared    buffers     cached
Mem:         32168      30119       2048          0       4438      11097
-/+ buffers/cache:      14583      17584
Swap:        31996       1899      30097

现在对free命令输出的每行进行详细的解释:

  • total:内存总数,物理内存总数
  • used:已经使用的内存数
  • free:空闲的内存数
  • shared:多个进程共享的内存总额
  • buffers:缓冲内存数
  • cached:缓存内存数
  • - buffers/cached:应用使用内存数
  • + buffers/cached:应用可用内存数
  • Swap:交换分区,虚拟内存

我们通过free命令查看机器空闲内存时,会发现free的值很小。这主要是因为,在Linux系统中有这么一种思想,内存不用白不用,因此它尽可能的cache和buffer一些数据,以方便下次使用。但实际上这些内存也是可以立刻拿来使用的。

在使用free命令时,我们都是需要重点关注- buffers/cached+ buffers/cached

  • - buffers/cached,即used - buffers/cached,表示应用程序实际使用的内存
  • + buffers/cached,即free + buffers/cached,表示理论上都可以被使用的内存

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

总结

OK!总结完毕!欢迎来到2019年~

果冻想,认真玩技术的地方。

2019年1月4日,于内蒙古呼和浩特。

赞(2) 打赏
未经允许不得转载:果冻想 » Linux性能监测:内存篇
关注微信公众号
关注微信公众号和果冻一起分享你的疑惑与心得。
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

玩技术,我们是认真的

联系我们关于果冻

请我喝杯咖啡也是不错的

支付宝扫一扫打赏

微信扫一扫打赏