内存是评判服务器的一个非常重要的指标。内存的多少,可能会直接影响着服务器的整体性能。所以,在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反映的是可以挪用的内存总数。
本文来自投稿,不代表访得立场,如若转载,请注明出处:http://www.found5.com//view/519.html