在 Linux 中检查可用内存的 5 种方法

检查正在使用的内存量是每个用户在系统运行缓慢时都会做的事情。 对于必须密切关注他们正在处理的服务器或机器正在使用的系统资源的系统管理员来说,这一点更为重要。

您可能知道一两种检查方法,在本文中,我们将讨论并详细介绍检查 Ubuntu 机器内存使用情况的各种方法。

内存,也称为随机存取存储器(RAM),是一种计算机数据存储,用于存储计算机CPU可以直接访问的指令和数据。 内存模块在一块小电路板上包含许多内存芯片。 当您为 PC 购买额外的 RAM 时,您会在现有插槽中添加额外的模块。

Linux 中的内存管理——如何管理 Linux 内存

在检查 Ubuntu 的内存使用情况时,我们提供了两种方法来解决这个问题,

  • 使用图形用户界面
  • 使用终端

目录

方法一:使用 Ubuntu 系统监视器

Ubuntu 的美妙之处在于它具有非常平易近人的图形用户界面,可以使用系统监视器轻松检查所有系统资源的使用情况。

系统监视器除了显示内存使用情况外,还显示系统的其他详细信息,如 CPU 使用率、网络使用率、当前正在运行的进程和磁盘存储。

以下是有关如何使用“系统监视器”检查内存利用率的分步说明

步骤1。 在 Ubuntu 中,按任务栏中的“显示应用程序”按钮

新闻发布会应用

第2步。 搜索“系统监视器”

系统监视器搜索

步骤 3。 单击系统监视器

第4步。 单击“资源”选项卡。

在下面 ”记忆”部分,您将看到可用内存总量,以及已用和可用内存量。

系统监视器截图系统监视器截图

现在我们已经学会了如何使用 GUI 来检查内存,我们将从这里开始使用 TUI。 终端提供了不止一种方法来检查内存使用情况,使终端非常适合计算机管理。

方法二:使用 htop

htop 命令是一个 Linux 性能监控工具,可显示有关 CPU 和内存使用情况的实时信息。

步骤 1. 按显示应用程序按钮,并搜索终端。

终端搜索终端搜索

步骤 2. 安装 htop。 要安装“htop”,请打开终端并键入:

sudo apt install htop

第 3 步。安装“htop”后,打开终端并输入:htop

顶部 顶部

Htop 显示当前正在运行的进程的实时更新列表,该列表按每个进程消耗的 CPU 使用率排序。

除了显示整体内存利用率外,htop 还显示每个内核的 CPU 利用率、交换空间、当前正在运行的任务数,以及 1 分钟、5 分钟和 15 分钟内运行的任务的平均负载-分钟时间段,以及机器的总正常运行时间。

在进程区域详细信息中显示了更多详细信息,例如 PID、进程所属的 USER 组、进程优先级、进程 niceness 和进程的内存使用情况,可进一步分为:

  • VIRT(虚拟图像)
  • RES(居民大小)
  • SHR(共享内存大小)
  • S 用于显示进程状态
  • 每个进程的 CPU 使用率(百分比)
  • 每个任务的总内存使用百分比
  • 每个任务或进程运行的时间
  • 最后,正在执行的命令

方法 3:使用“cat”/proc/meminfo 命令

此方法再次依赖终端来显示内存使用情况。 /proc/meminfo 文件提供有关 Linux 系统上内存使用情况的详细信息。 文件中的每一行代表内存使用的不同方面。 前几行提供有关内存使用情况的摘要信息,而其余行提供有关特定内存区域的更详细信息。

  • 要查看“/proc/meminfo”文件,打开终端并输入:
  • 猫 /proc/meminfo
图片猫 /proc/meminfo

以下是 /proc/meminfo 每一行中提供的一些信息的细分:

  • 内存总量:这是系统上的物理内存总量。
  • 无记忆:这是系统未使用的物理内存量。
  • 缓冲器:这是缓冲区使用的内存量。 内核使用缓冲区来存储正在从磁盘读取或写入磁盘的数据。
  • 缓存:这是页面缓存正在使用的内存量。 内核使用页面缓存将最近访问的数据存储在内存中,以便可以快速再次访问。
  • 积极的:这是活动进程当前正在使用的内存量。
  • 不活跃:这是当前未使用但仍可供进程使用的内存量。
  • 总交换:这是系统上的交换空间总量。
  • 免掉期:这是当前未使用的交换空间量。
  • 肮脏的:这是等待写入磁盘的内存量。
  • 回写:这是当前正在写入磁盘的内存量。
  • 匿名页面:这是匿名页面使用的内存量。 匿名页面是不与任何文件关联的页面。
  • 映射:这是映射到页面缓存的内存量。 这包括使用 mmap 系统调用映射到内存的文件。
  • 什梅:这是用于共享内存的内存量。 共享内存是多个进程之间共享的内存。
  • 板坯:这是内核slab缓存正在使用的内存量。 内核使用slab缓存来存储内部使用的数据结构。
  • 可回收:这是slab缓存中可以回收的内存量。
  • 回收:这是slab缓存中无法回收的内存量。
  • 内核栈:这是用于内核堆栈的内存量。 内核使用内核堆栈来存储当前正在运行的进程的数据。
  • 页表:这是用于页表的内存量。 内核使用页表来存储有关内存布局的信息。
  • NFS_不稳定:这是用于标记为不稳定的 NFS 页面的内存量。 NFS 页面是 NFS 客户端用来访问 NFS 服务器上的文件的页面。
  • 弹跳:这是用于反弹缓冲区的内存量。 内核使用弹跳缓冲区来存储正在从无法处理物理地址的设备读取或写入的数据。
  • 回写时间:这是用于回写缓冲区的内存量。 内核使用写回缓冲区来存储正在写入磁盘的数据。
  • 提交限制:这是系统上可以分配的最大内存量。 这是 MemTotal 和 SwapTotal 值的总和。
  • 承诺_AS:这是当前在系统上分配的内存量。 这是 Active、Inactive 和 SwapTotal 值的总和。
  • VmallocTotal:这是系统上可用的虚拟内存总量。
  • VmallocUsed:这是系统上当前正在使用的虚拟内存量。
  • VmallocChunk:这是系统上可用的最大虚拟内存块。

方法四:使用free命令

free -m 提供有关 Linux 系统上的内存使用情况的信息。 输出分为三个部分:total、used 和 free。 total 部分显示系统上的内存总量,used 部分显示当前正在使用的内存量,free 部分显示当前可用的内存量。

  • 要使用 free 命令,请打开终端并输入:
  • free -m:这将以兆字节为单位显示内存信息。
图 1免费 -m 命令
  • 您还可以使用“free -g”选项以千兆字节显示内存信息。
图 2免费 -g 命令

方法5:使用“vmstat”命令

vmstat 命令是一个 Linux 实用程序,可显示有关系统上的虚拟内存的信息。

  • 要使用“vmstat”命令,请打开终端并键入:
  • vmstat -s
图 3vmstat -s 命令

带有 -s 选项的 vmstat 命令显示有关内存、分页、块 IO、陷阱和 CPU 活动的各种统计信息。

vmstat 显示的统计信息有:

内存使用量:系统中空闲和已用内存的总量,以及内核使用的内存量。

分页:系统中的分页活动量,包括页面错误数、换出的页面数以及内核使用的页面数。

Block IO:系统中的block IO活动量,包括读和写的block数量。

Traps:内核接收到的陷阱数量,包括中断、系统调用和异常。

CPU 活动:CPU 处于各种状态的时间量,包括用户时间、系统时间和空闲时间。

  • 您还可以使用“vmstat -d”选项来显示有关虚拟内存的详细信息。
图 4vmstat -d 命令

结论

总之,检查正在使用的内存量是计算机管理的重要组成部分。 Ubuntu 提供了许多易于使用且易于使用的 GUI 工具来检查内存使用情况,而终端中也可以访问“htop”、“cat”、“free”、“vmstat”命令。