歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 每天一個Linux命令(39)free命令

每天一個Linux命令(39)free命令

日期:2017/3/3 12:06:29   编辑:Linux技術

free命令可以顯示當前系統未使用的和已使用的內存數目,還可以顯示被內核使用的內存緩沖區。[b] (1)用法:[/b]

[b] 用法: free [選項參數][/b][b] (2)功能:[/b]

[b] 功能: free 命令顯示系統使用和空閒的內存情況,包括物理內存、交互區內存(swap)和內核緩沖區內存。共享內存將被忽略。[/b][b] (3)選項參數:[/b]

1) -b            以Byte為單位顯示內存使用情況。 2) -k          以KB為單位顯示內存使用情況。

3) -m           以MB為單位顯示內存使用情況。 4) -g            以GB為單位顯示內存使用情況。

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

[b] (4)實例:[/b] 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
......

[b] (5)其他:[/b]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看內存是否夠用的標准。

Copyright © Linux教程網 All Rights Reserved