zoukankan      html  css  js  c++  java
  • 每天一个Linux命令(39)free命令

          free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。

          (1)用法:

          用法:  free  [选项参数]

          (2)功能:

          功能:  free 命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略。

          (3)选项参数:

          1) -b            以Byte为单位显示内存使用情况。 

          2) -k                以KB为单位显示内存使用情况。

          3) -m           以MB为单位显示内存使用情况。 

          4) -g            以GB为单位显示内存使用情况。 

          5) -s            每3秒执行一次free操作

          (4)实例:

          1)[sunjimeng@localhost ~]$ free          显示内存使用情况

    [sunjimeng@localhost ~]$ free                                     //以kn为单位显示
                  total        used        free      shared  buff/cache   available
    Mem:        2013872      641564      864800       10132      507508     1164056
    Swap:       2097148           0     2097148
    [sunjimeng@localhost ~]$ free -m                                 //以MB为单位显示
                  total        used        free      shared  buff/cache   available
    Mem:           1966         626         844           9         495        1136
    Swap:          2047           0        2047
    [sunjimeng@localhost ~]$ free -g                    //以GB为单位进行显示
                  total        used        free      shared  buff/cache   available
    Mem:              1           0           0           0           0           1
    Swap:             1           0           1
    [sunjimeng@localhost ~]$ 

          第一部分Mem行解释:
            total:           内存总数;   

           used:          已经使用的内存数;

           free:           空闲的内存数;

           Buffers/cached:        磁盘缓存的大小。

           关系:  total = used + free +Buffers/cached

          第二部分Swap指的是交换分区,也就是我们通常所说的虚拟内存。

        2)[sunjimeng@localhost ~]$ free -t           以总的形式显示内存的使用情况

    [sunjimeng@localhost ~]$ free -t
                  total        used        free      shared  buff/cache   available
    Mem:        2013872      640344      865772       10132      507756     1165108
    Swap:       2097148           0     2097148
    Total:      4111020      640344     2962920

          3)[sunjimeng@localhost ~]$ free -s 3         每三秒执行一次free操作

    [sunjimeng@localhost ~]$ free -s 3
                  total        used        free      shared  buff/cache   available
    Mem:        2013872      642136      863972       10132      507764     1163300
    Swap:       2097148           0     2097148
    
                  total        used        free      shared  buff/cache   available
    Mem:        2013872      642148      863960       10132      507764     1163288
    Swap:       2097148           0     2097148
    ......

         (5)其他:

          buffers和cached都是缓存,两者的区别:

          为了提高磁盘存取效率, Linux做了一些精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。 

          简单说来,page cache用来缓存文件数据,buffer cache用来缓存磁盘数据。在有文件系统的情况下,对文件操作,那么数据会缓存到page cache,如果直接采用dd等工具对磁盘进行读写,那么数据会缓存到buffer cache。

          所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果常常swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准。

  • 相关阅读:
    [CF888G] Xor-mst (Trie 树,最小生成树)
    [JSOI2010]部落划分 (最小生成树)
    [USACO15FEB]Superbull (最小生成树)
    [APIO2009]抢掠计划 ($Tarjan$,最长路)
    [APIO2015] 雅加达的摩天楼 (分块,最短路)
    [USACO07NOV]牛继电器Cow Relays (最短路,DP)
    P1266 速度限制 (最短路,图论)
    C语言编程题目(1)字符串格式化操作 手机键盘次数统计
    MOCTF RE 暗恋的烦恼
    python 面向对象 私有化浅析
  • 原文地址:https://www.cnblogs.com/MenAngel/p/5561376.html
Copyright © 2011-2022 走看看