如何在Linux中檢查內存使用情況
在對系統或應用程序速度下降或行為異常進行故障排除時,要檢查的第一件事是系統內存使用率。
本文介紹了如何使用幾個不同的命令來檢查Linux中的RAM使用情況。
free
命令#
free
是檢查Linux系統內存使用情況的最常用命令。 它顯示有關總內存,已用內存和可用內存的信息。
通常, free
與一起調用 -h
該選項意味着以人類可讀的格式打印輸出:
free -h
total used free shared buff/cache available
Mem: 3936 1087 252 130 2596 2427
Swap: 0 0 0
每列的含義如下:
- 總 -應用程序可以使用的內存總量。
- 用過的 -使用的內存。 計算公式為:
used = total - free - buffers - cache
- 自由 -可用/未使用的內存。
- 共享 -此列可以忽略; 僅出於向後兼容的目的顯示它。
- 增益/緩存 -內核緩衝區,頁面高速緩存和平板使用的組合內存。 如果應用程序需要,可以隨時回收此內存。
- 有空 -估計可用於啟動新應用程序而無需交換的內存。
的 free
命令打印有關物理內存和系統交換的信息。
top
命令#
top
是一個命令行實用程序,用於顯示有關正在運行的進程的實時信息。 它還顯示了系統摘要,包括內存使用情況。
要調用該命令,只需鍵入 top
:
free -h
輸出將如下所示:
輸出的標頭包含有關係統的總,可用和已用物理內存和交換內存的信息。
的 %MEM
列提供有關每個正在運行的進程的可用物理內存已用份額的信息。
/proc/meminfo
#
檢查RAM內存使用率的最簡單方法是顯示內存的內容。 /proc/meminfo
虛擬文件。 該文件由 free
, top
, ps
以及其他系統信息命令。
使用 less
要麼 cat
查看內容 /proc/meminfo
文件:
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
:
sudo pip3 install ps_mem
跑步 ps_mem
需要管理員權限:
sudo 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
=================================
當您想找出哪個正在運行的程序佔用了系統大部分內存時,此腳本很有用。
結論#
我們向您展示了一些可用於檢查系統內存使用情況的命令。
如果您有任何疑問或意見,請在下面發表評論。
終奌站