第一種,在linux下查看內存使用情況的最簡單方法是使用free命令,free命令可以顯示系統中物理內存和交換內存的總量,還可以顯示內核所用的buffer和caches總量。在我的系統中運行linux命令,顯示結果在下面圖中所示。
其中第一行顯示系統物理內存的使用情況,第二行顯示的是swap交換內存的使用情況。
total列表示系統中內存的總量,
used列表示已用內存總量,該列的值可通過如下公式獲得:used=total-free-buffers–cache,free列表示空閑內存容量,
shared為共享內存已經使用的容量,
buff/cache為buffers和cache所用總量的總和,其中buffers為內核緩沖區所用的內存,cache為頁緩存和slabs所用的內存容量。
available列為估算的在不需要swapping內存的情況下,可用物理內存容量。
這里free默認的顯示單位是Kbytes,可以用-b(bytes),-m(Mbytes),-k(Kbytes)或者-g(Gbytes)來置頂要顯示的單位。實際中更常用的是使用-h來顯示易于閱讀的輸出。
在我的系統中運行free-h命令,顯示結果如下圖所示。
需要注意的是swap的使用量。一般來說,swap的used最好是0,最多不要超過20%。如果您發現swap的使用量超過20%,那么說明系統的物理內存已經嚴重不足了。更多關于free的用法可以通過free-help命令查看或者manfree查看更加詳細的信息。
第二種,查看linux內存使用情況的方法是使用top命令,top輸出的第三行和第四行顯示當前系統物理內存和交換內存的使用情況,top命令還可以查看每個進程的內存使用率,在我的系統中運行top命令的顯示結果如下圖所示。
第三種,free和top命令顯示的內存信息都是通過讀取/proc/meminfo文件生成的,所以我們也可以通過查看/proc/meminfo文件來查看系統的內存使用情況。
以上介紹的方法都是在命令行環境下查看,也可以通過圖形界面查看系統的內存使用情況,圖形界面查看內存使用情況比較常用的工具是SystemMonitor。一般發行版系統都會自帶這個工具。
還有一些命令也可以顯示內存的使用情況,比如ps、vmstat、memstat等。但這不是這些工具的主要作用。這里不做詳細闡述