free命令

free命令是Linux使用者最常用的查看系統內存的命令,它可以顯示當前系統已使用和空閒的內存情況,包括物理內存、交換內存和內核緩存區內存等信息。

free命令的選項也比較簡單,常用的參數命令如下。

-b    以Byte爲單位顯示內存使用情況
-k    以KB爲單位顯示內存使用情況
-m    以MB爲單位顯示內存使用情況
-g    以GB爲單位顯示內存使用情況
-o    不顯示緩衝區調節列
-s<間隔秒數>    持續觀察內存使用情況
-t    顯示內存總和列
-V    顯示版本信息

下面是Linux機器中使用free -m命令看到的內存使用情況。

$free -m
        total    used    free   shared    buff/cache    available
Mem:    7763     5507    907     0        1348          1609
Swap:   16197    2940    13257

可以看到,這個機器上一共有7763MB物理內存。

  • total:指系統中總共的內存。這裏有兩種內存,一個是“Mem”,指的是物理內存;另一個是“Swap”,指的是交換磁盤。
  • used:指程序使用的內存。
  • free:未被分配的物理內存大小。
  • shared:共享內存大小,主要用於進程間通信
  • buff/cache:buff指的是buffers,用來給塊設備做緩存,而cache指的是page cache,用來給打開的文件做緩存,以提高訪問文件的速度。
  • available:這是free命令新加的一個選項。當內存短缺時,系統可用回收buffers和page cache。那麼available = free + buffers + page cache對不對呢?其實在現在的Linux內核中,這個公式不完全正確,因爲buffers和page cache裏並不是所有的內存都可以回收,比如共享內存段、tmpfs和ramfs等都屬於不可回收的。所以這個公式應該變成:available = free + buffers + page cache - 不可回收部分。

(以上內容,摘自《奔跑吧Linux內核 入門篇》)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章