在排查系統問題,或者應用變慢,或者不明原因問題時,第一件事就是要檢查系統的內存使用率。
本文講解如何在 Linux 中使用不同的幾個命令來檢查 RAM 內存使用率。
一、free 命令
free
命令是檢查一個 Linux 系統中內存使用率最常用的命令。它顯示關于內存總量,已經使用的內存以及空閑內存的相關信息。
通常, free
運行時加上-h
選項,意味著以人類可讀的格式打印輸出:
total used free shared buff/cache available
Mem: 3936 1087 252 130 2596 2427
Swap: 0 0 0
這里是每一列的意義:
- total - 應用可以使用的內存總數
- used - 已經被使用的內存。 它是這樣計算的:
used = total - free - buffers - cache
- free - 空閑的/未被使用的內存。
- shared - 這一列可以被忽略。 它僅僅用于向后兼容。
- buff/cache - 內核緩存,頁面緩存和slab
- avaiable - 可用來啟動新應用的估計可用內存,不包括交換內存。
這個free命令打印關于物理內存和交換內存的信息。
二、top 命令
top
是一個命令工具,它展示正在運行的進程的實時信息。它同時顯示系統概要,包括內存使用率。
想要運行命令,簡單輸入top
:
輸出將會看起來像下面這樣:

輸出頭部包括以下信息:系統中內存,空閑內存,被使用內存,以及交換內存。
這個%MEM一列,提供信息包括每一個運行進程中被使用的共享內存占可用物理內存的比例。
三、 /proc/meminfo
最簡單的檢查 RAM 內存的方式就是去顯示/proc/meminfo
虛擬文件。這個文件被free
,top
,ps
以及其他系統信息命令所使用。
使用less
或者cat
來查看/proc/meminfo
文件的內容。
文件包含了一系列信息,關于系統內存和交換內存使用率:
MemTotal: 4030592 kB
MemFree: 401804 kB
MemAvailable: 2507504 kB
...
這個來自/proc/meminfo
文件的信息可以被解析,并且在 shell 腳本中使用。
四、 ps_mem 腳本
ps_mem 是一個 Python 腳本,他可以報告每個程序的 RAM 使用率。它在 Python 2 和 3 中都可以使用,并且可以使用pip
進行安裝。
運行ps_mem
需要管理員權限:
輸出將會以升序顯示包括每一個運行程序的內存使用率:
Private + Shared = RAM used Program
...
11.9 MiB + 20.2 MiB = 32.1 MiB nginx (4)
8.2 MiB + 42.4 MiB = 50.6 MiB systemd-journald
55.8 MiB + 307.2 MiB = 363.0 MiB php-fpm7.4 (6)
233.9 MiB + 234.0 MiB = 467.9 MiB redis-server
578.2 MiB + 578.6 MiB = 1.1 GiB mysqld
---------------------------------
2.2 GiB
=================================
五、總結
我們已經向你展示一些命令,你可以使用它們來檢查系統內存使用率。
原文 :https://linuxize.com/post/check-memory-linux/
以上就是Linux 下如何檢查內存使用率的詳細內容,更多關于Linux 檢查內存使用率的資料請關注腳本之家其它相關文章!