欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > Linux 中查看内存使用情况全攻略

Linux 中查看内存使用情况全攻略

2025/5/1 22:07:56 来源:https://blog.csdn.net/2401_86610558/article/details/144784324  浏览:    关键词:Linux 中查看内存使用情况全攻略

Linux 中查看内存使用情况全攻略

在 Linux 系统运维与开发工作里,精准掌握内存使用状况对系统性能优化、故障排查起着举足轻重的作用。Linux 提供了多款实用工具来查看内存详情,下面我们就结合实际示例,深入了解这些工具的使用方法。

在这里插入图片描述

一、free 命令

  1. 基础介绍
    free 命令用于显示系统内存的使用情况,包括总内存、已用内存、空闲内存以及缓冲和缓存占用的内存量。它的输出简洁直观,是快速了解内存概况的首选工具。
  2. 示例
    在终端直接输入 free 命令,会得到类似如下输出:
$ freetotal        used        free      shared  buff/cache   available
Mem:       8169460      3078688      1054744       120964      4036028      4363724
Swap:      2097148           0      2097148
  • total:系统物理内存的总量,是 used + free 的总和。
  • used:已经被使用的物理内存。
  • free:当前完全空闲的物理内存。
  • shared:共享内存的大小,常用于进程间通信场景。
  • buff/cache:缓冲(buffer)与缓存(cache)占用的内存,这部分内存可在系统需要时快速释放,用于其他进程。
  • available:新进程可获取使用的预估内存量,考虑到了缓存释放的情况。

要是觉得默认输出单位不够直观,加上 -h 参数,以人类可读格式呈现:

$ free -htotal        used        free      shared  buff/cache   available
Mem:           7.8G        2.9G        1.0G        118M        3.9G        4.2G
Swap:          2.0G          0B        2.0G

二、top 命令

  1. 基础介绍
    top 是一款功能强大的动态实时监控系统进程与资源的工具,其中自然也涵盖了内存使用信息的持续展示。它不仅能看到内存总量、已用量,还能观察到每个进程的内存占用排名。
  2. 示例
    在终端输入 top 后,屏幕会刷新显示一系列系统实时数据:
top - 10:25:30 up 3 days, 1:47,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 187 total,   1 running, 186 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  8169460 total,  3078688 used,  1054744 free,  120964 shared, 4036028 buff/cache
KiB Swap:  2097148 total,       0 used,  2097148 free.  4363724 avail MemPID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND1 root      20  0  128144   6868   4004 S  0.0  0.1   0:02.16 systemd2 root      20  0       0      0      0 S  0.0  0.0   0:00.00 kthreadd3 root      20  0       0      0      0 S  0.0  0.0   0:00.04 ksoftirqd/0

重点关注 “KiB Mem” 这一行,和 free 命令输出的信息对应,但在这里是动态更新的。下方的进程列表里,%MEM 列清晰展示了每个进程占用内存的百分比,借此能快速定位内存消耗大户,排查是否有异常进程占用过多内存。按 q 键即可退出 top 界面。

三、vmstat 命令

  1. 基础介绍
    vmstat 能提供虚拟内存、进程、CPU 等系统整体运行状态的统计信息,在查看内存动态变化趋势上很有优势,周期性输出系统资源状态报告。
  2. 示例
    执行 vmstat 2 5,这里的 2 表示每隔 2 秒输出一次数据,5 表示总共输出 5 次:
$ vmstat 2 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st0  0      0 1054700  12836 4036004    0    0     1     0   41   63  0  0 100  0  00  0      0 1054700  12836 4036004    0    0     0     0   37   57  0  0 100  0  00  0      0 1054700  12836 4036004    0    0     0     0   36   57  0  0 100  0  00  0      0 1054700  12836 4036004    0    0     0     0   38   59  0  0 100  0  00  0      0 1054700  12836 4036004    0    0     0     0   37   58  0  0 100  0  0
  • swpd:已使用的交换空间大小。
  • free:空闲的物理内存。
  • buff:缓冲区内存大小。
  • cache:缓存内存大小。通过连续观察这些数值的变化,能洞察内存使用走向,辅助判断系统性能瓶颈。

掌握这些 Linux 下查看内存使用情况的工具与方法,运维人员可以及时察觉内存异常,开发人员也能更好优化程序内存占用,保障 Linux 系统稳定、高效运行。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词