每天一個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看內存是否夠用的標准。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM