zoukankan      html  css  js  c++  java
  • free命令详解

    语法选项

    -b:以Byte为单位显示内存使用情况; 
    -k:以KB为单位显示内存使用情况; 
    -m:以MB为单位显示内存使用情况; 
    -o:不显示缓冲区调节列; 
    -s<间隔秒数>:持续观察内存使用状况; 
    -t:显示内存总和列; 
    -V:显示版本信息。

    free -m

    [root@localhost ~]# free -m
    
                 total       used       free     shared    buffers     cached
    Mem:          7869       7651        218          1        191       5081
    -/+ buffers/cache:       2378       5490
    Swap:          478        139        339

    1,2表示1,2行的内容

    total1:表示物理,内存总量

    used1:总计分配给缓存(包含Buffer和cache)使用的数量,但其中可能部分缓存并未实际使用

    free1:未被分配的内存

    shared1:共享内存,一般系统不会用到,这里也不讨论

    buffers1:系统分配但未被使用的buffers数量

    cached1:系统分配但未被使用的cache数量

    used2:实际使用的buffers和cache总量,也是实际使用的内存总量

    free2:未被使用的Buffers和cache和未被分配的内存之和,这就是系统当前实际可用内存。

    如下公式:

    total1=used1(buffers1+cached1+used2)+free1   7869=7651(191+5081+2378)+218

    total1=used2+free2(buffers1+cached1+free1)     7869=2378+5490(191+5081+218)

    buffer和cache也是内存的一部分,如果需要,可以释放这2部分的内存

    pagecache和buffercache的区别:

    pagecache实际上是针对文件系统的,是文件的缓存,在文件上的数据会缓存到pagecahce,文件的逻辑层需要映射到实际的物理磁盘,这种映射关系由文件系统来完成,当pagecache中的数据需要刷新时,pagecache中的数据交给buffercache。但这种处理在2.6版本内核之后就变得简单了,没有真正意义的cache操作。

    buffercache是针对磁盘块的缓存,也就是在没有文件系统的情况下,直接对磁盘操作的数据会缓存到buffercache中,如:文件系统的元数据都会缓存到buffercache中。简单来说,

    pagecache用来缓存文件数据,buffercache用来缓存磁盘数据。在有文件系统的情况下,对文件操作,数据会缓存到pagecache。若直接采用dd工具对磁盘进行读写,那么数据会

    缓存到buffercache。

  • 相关阅读:
    第一章 工欲善其事 必先利其器—Android SDK工具(3)
    UVa 11063
    Remember the Word,LA3942(Trie树+DP)
    Atitit.Gui控件and面板----数据库区-mssql 2008 权限 配置 报表查看成员
    Android手机令牌教程
    cocos2d-x 在mac下执行 demo
    Install Oracle 10g on Red Hat Linux 5.3 Step by Step
    Python根据内嵌的数字将字符串排序(sort by numbers embedded in strings)
    mysql一次运行多个SQL文件
    CentOS/Linux 卸载MATLAB
  • 原文地址:https://www.cnblogs.com/yinfutao/p/10565416.html
Copyright © 2011-2022 走看看