如何在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 虛擬文件。 該文件由 freetopps 以及其他系統信息命令。

使用 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
=================================

當您想找出哪個正在運行的程序佔用了系統大部分內存時,此腳本很有用。

結論#

我們向您展示了一些可用於檢查系統內存使用情況的命令。

如果您有任何疑問或意見,請在下面發表評論。

終奌站

Sidebar