如何在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