ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

如何通过free看懂内存的真实使用

2022-08-30 17:00:58  阅读:172  来源: 互联网

标签:真实 缓存 cache free 内存 物理 buff


  free命令是Liunx操作系统中对内存进行查看和监控的一个常用命令。我们可以直接执行free命令获取操作系统内存使用的相关数据,如下所示:

[root@ufdb165 ~]# free
              total        used        free      shared  buff/cache   available
Mem:       63722036     2850012     5629452    16861900    55242572    43486320
Swap:      33554428           0    33554428

  默认直接执行free获取到的内存数据的单位都是k,Mem这一行展示的是物理内存使用情况,Swap这一行展示的是内存交换区(通常也叫虚拟内存)的整体使用情况。

  • tatal列:显示的是系统总的可用物理内存和交换区的大小,单位为k。
  • used列:显示的是已经被使用的物理内存和交换区的大小,单位为k。
  • free列:显示的是还有多少物理内存和交换区没有被使用,单位为k。
  • shared列:显示的是共享区占用的物理内存大小,单位为k。
  • buff/cache列:显示的是被缓冲区和page缓存合计使用的物理内存大小,单位为k。
    • buff:在操作系统中指的是缓冲区,负责磁盘块设备的读写缓冲,会直接占用系统的物理内存。
    • cache:指的是操作系统中的page缓存,这个缓存是Liunx内核实现的磁盘缓存,就是将磁盘中的数据缓存到物理内存中,以减少内核对磁盘I/O的读写操作,这样对磁盘的访问就会变为对物理内存的访问,从而大大提高了系统对磁盘的读写速度。cache类似于应用程序中使用redis来实现缓存一样,其实就是把一些经常需要访问的数据存储到物理内存中来提高数据访问的速度。 
  • available列:显示的是可用物理内存的大小,单位为k。通常情况下,avaliable的值等于free+buff/cacheLiunx内核为了提高磁盘读写的速度会使用一部分物理内存来缓存经常要使用的磁盘数据,所以buff和cache对于Linux操作系统的内核来说,都属于已经被使用的内存,而free列显示的是真正未被使用的物理内存。不过,如果物理内存不够用了并且应用程序恰巧又需要使用物理内存时,内核就会从buff和cache中回收被它们占用的物理内存来满足应用程序的需要,也就是说buff和cache占用的物理内存是可以被内核释放的。

 

标签:真实,缓存,cache,free,内存,物理,buff
来源: https://www.cnblogs.com/silgen/p/16639986.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有