青蛙学Linux—系统负载监控

在Linux下,内存分为两个部分,分别是物理内存和虚拟内存。物理内存就是主机上插入的内存条;虚拟内存就是在硬盘上虚拟出来的一块逻辑内存空间,用于解决物理内存不足的情况。Linux下的虚拟内存被称为交换空间Swap Space,也就是系统中的swap分区。虽然现在的物理内存已经足够大了,但是还是建议保留一定的swap分区。

使用free命令可以查看当前内存的使用信息。命令语法如下:

free [选项]

常用选项:

  • -h:以易于阅读的方式显示内存使用信息

free命令在CentOS 6.x和CentOS 7.x版本的系统下回显的内容并不相同,以下来详细分析下:

CentOS 6.x

[root@localhost ~]# free -h
             total       used       free     shared    buffers     cached
Mem:          7.7G       601M       7.1G       172K       151M       208M
-/+ buffers/cache:       241M       7.5G
Swap:         2.5G         0B       2.5G

列详解:

  • total:总量
  • used:正在使用
  • free:空闲
  • shared:共享内存
  • buffers:存储块设备以及文件系统元数据(metadata)所占用的缓冲页
  • cached:存储普通文件所占用的缓存页

行详解:

  • Mem:物理内存
  • -/+ buffers/cache:应用程序可以使用的内存
  • Swap:交换分区

buffers/cached的存在是为了提高文件的读取性能而存在的,当应用程序需要内存时,buffers/cached占用的空间将很快被回收。所以,在系统看来,内存的free值=total-used,但对于应用程序来说,buffers/cached这一部分空间是可用的,所以free值=系统free值+buffers+cached。这也是为什么free命令的回显中会有两个free值的原因。

CentOS 7.x

[root@localhost ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           7.6G        192M        7.1G        8.8M        338M        7.2G
Swap:          2.5G          0B        2.5G

这里与CentOS 6.x中的回显不同的是,分开的buffers/cached列合并为buff/cache列,并新增了available列,同时-/+ buffers/cached行也取消了,使得显示更加简洁。CentOS 7.x下已经把buffers/cached合并,因为两者本质相同。新增的available列显示的就是应用程序可用的空闲内存。

猜你喜欢

转载自www.cnblogs.com/yu2006070-01/p/10001951.html
今日推荐