检查 Linux 内存使用情况的 10 个“免费”命令检查 Linux 内存使用情况的 10 个“免费”命令检查 Linux 内存使用情况的 10 个“免费”命令检查 Linux 内存使用情况的 10 个“免费”命令
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

检查 Linux 内存使用情况的 10 个“免费”命令

如果您是 Linux 用户,您可能听说过“内存使用”这个术语。内存使用量是指计算机在任何给定时间使用的内存量。这是一个需要跟踪的重要指标,因为过多的内存使用可能会导致系统速度变慢甚至崩溃。幸运的是,Linux 提供了一个名为“free”的内置工具,可以让您检查系统的内存使用情况。在本文中,我们将介绍如何使用“free”命令来检查 Linux 中的内存使用情况。

什么是“免费”命令?

“free”命令是Linux中的一个内置工具,用于显示有关系统内存使用情况的信息。它提供有关正在使用的内存量、可用的空闲内存量以及系统内核正在使用的内存量的详细信息。

如何使用“free”命令?

使用“free”命令很简单。只需打开一个终端并输入“free”,然后输入任何可选标志。这是一个例子 -

$ free

这将显示系统的内存使用统计信息。

了解“free”命令的输出

“free”命令的输出可能有点让人不知所措,特别是如果您是 Linux 新手。然而,一旦你了解了不同的领域,它就会变得更容易阅读和解释。这是一个示例输出 -

              total        used        free      shared  buff/cache   available
Mem:        8093816     1439556     5458576      195084     1194684     6159384
Swap:       2097148           0     2097148

以下是每个字段的含义 -

  • 总计 - 系统可用的物理内存总量。

  • used - 您的系统当前正在使用的内存量。

  • free - 当前可供使用的内存量。

  • 共享 - 不同进程之间共享的内存量。

  • buff/cache - 用于磁盘缓存的内存量。

  • 可用 - 可供新进程使用的内存量。

请务必注意,“已使用”字段中显示的值不包括用于磁盘缓存的内存。相反,它显示在“buff/cache”字段中。 “可用”字段显示实际可供新进程使用的内存量,考虑到用于磁盘缓存的内存。

使用“-h”标志

默认情况下,“free”命令以字节为单位显示内存使用统计信息。这可能很难阅读,特别是当您处理大量内存时。幸运的是,您可以使用“-h”标志以更易于理解的格式显示输出。这是一个例子 -

$ free -h

这将以更易于阅读的格式显示输出,使用“MB”和“GB”等单位而不是字节。

使用“-s”标志

如果您想持续监控系统的内存使用情况,可以使用“-s”标志来指定每次更新之间的延迟。例如,以下命令将每 5 秒显示一次内存使用统计信息 -

$ free -s 5

使用“-t”标志

默认情况下,“free”命令显示物理内存和交换空间的内存使用统计信息。如果您只想查看物理内存的统计信息,可以使用“-t”标志来排除交换空间统计信息。例如 -

$ free -t

这将仅显示物理内存的内存使用统计信息。

以下是如何使用具有不同标志的“free”命令的更多示例 -

显示内存使用情况(以兆字节为单位)

$ free -m

这将以兆字节为单位显示内存使用统计信息,这比以字节为单位的默认格式更容易阅读。

显示内存使用情况(以 GB 为单位)

$ free -g

这将显示以 GB 为单位的内存使用统计信息,这对于具有大量内存的系统非常有用。

延迟 2 秒连续循环显示内存使用情况

$ free -s 2 -c

这将连续循环显示内存使用统计信息,每次更新之间有 2 秒的延迟。 “-c”标志指定应在每次更新之前清除输出。

显示特定进程的内存使用统计信息

$ ps aux | grep firefox
$ pmap <PID>

这将显示特定进程的内存使用统计信息,例如 Firefox Web 浏览器。首先,使用“ps”命令查找要检查的进程的进程 ID (PID)。然后,使用带有 PID 的“pmap”命令来显示该进程的详细内存使用信息。

显示特定用户的内存使用统计信息

$ sudo su <USERNAME>
$ free -u <USERNAME>

这将显示特定用户(例如 root 用户或系统上的其他用户)的内存使用统计信息。首先,使用“sudo su”命令切换到用户帐户。然后,使用带有“-u”标志的“free”命令来显示该用户的内存使用统计信息。

以特定格式显示内存使用统计信息

$ free -o

这将以特定格式显示内存使用统计信息,这对于脚本编写或解析输出非常有用。 “-o”标志指定输出应采用“长”格式。

以特定单位显示内存使用统计信息

$ free -k

这将以千字节为单位显示内存使用统计信息,这对于内存资源有限的系统非常有用。

显示特定时间间隔的内存使用统计信息

$ free -t 10

这将每 10 秒显示一次内存使用统计信息,这对于监控系统一段时间内的内存使用情况非常有用。 “-t”标志指定间隔(以秒为单位)。

显示特定进程组的内存使用统计信息

$ free -g 1

这将显示特定进程组的内存使用统计信息,例如在容器或虚拟机中运行的一组进程。 “-g”标志指定进程组 ID。

显示特定内存类型的内存使用统计信息

$ free -b -t | grep "^Swap"

这将显示特定内存类型的内存使用统计信息,例如交换空间。 “-b”标志指定输出应以字节为单位,“grep”命令过滤输出以仅显示交换空间统计信息。

显示按特定字段排序的内存使用统计信息

$ free -m | sort -nk 2

这将显示按“已使用”列升序排序的内存使用统计信息,这对于识别消耗最多内存的进程或服务非常有用。 “sort”命令用于根据特定列对输出进行排序,“-n”选项指定数字排序,“-k”选项指定排序依据的列。

显示带时间戳的内存使用统计信息

$ while true; do date +"%F %T"; free -h; sleep 5; done

这将显示带有时间戳的内存使用统计信息,这对于跟踪内存使用随时间的变化非常有用。 “while”循环用于连续运行“date”和“free”命令,每次更新之间延迟 5 秒。

显示特定虚拟内存区域的内存使用统计信息

$ free -t | grep "VmallocUsed"

这将显示特定虚拟内存区域的内存使用统计信息,例如内核使用的“vmalloc”区域。 “grep”命令过滤输出以仅显示“VmallocUsed”行,该行显示虚拟内存区域使用的内存量。

显示特定进程 ID 的内存使用统计信息

$ ps aux | grep firefox
$ cat /proc/<PID>/status | grep VmRSS

这将显示特定进程 ID 的内存使用统计信息,例如 Firefox Web 浏览器。首先,使用“ps”命令查找要检查的进程的进程 ID (PID)。然后,使用“cat”命令和“/proc/PID/status”文件来显示该进程的详细内存使用信息,例如驻留集大小(RSS)或其代码段的大小。

结论

“free”命令是一个强大的工具,可让您在 Linux 中检查系统的内存使用情况。通过了解输出中的不同字段并使用各种标志,您可以详细了解系统如何使用其内存资源。监视内存使用情况对于任何 Linux 用户来说都是一项重要任务,尤其是在运行内存密集型应用程序或服务器时。使用“free”命令,您可以快速轻松地检查系统的内存使用情况并在必要时采取措施。

除了“free”命令之外,Linux 中还有其他工具可用于监视内存使用情况。例如,“top”命令提供有关系统内存使用情况、CPU 使用情况和其他系统统计信息的实时信息。还有第三方工具可用,例如“htop”,它提供了更高级的界面来监视系统资源。

©2015-2025 艾丽卡 support@alaica.com