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