在CentOS系统中,了解内存的使用情况是系统管理和性能优化的基础,无论是排查系统卡顿、规划资源分配,还是确保服务稳定运行,掌握查看内存数量的方法都至关重要,本文将详细介绍在CentOS系统中查看内存数量的多种命令及其使用场景,帮助读者全面掌握内存监控技巧。

使用 free 命令查看内存概览
free 是最常用的内存查看命令,它以易读的格式显示系统总内存、已使用内存、空闲内存以及交换空间(Swap)的信息。
基本用法
free -h
-h 参数表示以人类可读的格式(如GB、MB)显示数据,避免默认以KB为单位带来的阅读不便。
输出解析
执行上述命令后,输出通常包含两行:Mem(物理内存)和 Swap(交换空间),以典型输出为例:
total used free shared buff/cache available
Mem: 7.7G 2.1G 4.2G 256M 1.4G 5.3G
Swap: 2.0G 0B 2.0G - total:系统总内存量。
- used:已使用的内存(包括内核缓冲区和缓存)。
- free:完全空闲的内存。
- shared:被多个进程共享的内存(如tmpfs)。
- buff/cache:用于缓冲和缓存的内存,这部分内存可在需要时被释放。
- available:可供新进程使用的内存量(比
free更准确,因为它包含了可回收的缓存)。
高级选项
-m或-g:分别以MB或GB为单位显示(如free -m)。-s:持续监控内存使用,free -s 3每3秒刷新一次数据。
使用 top 或 htop 命令实时监控内存
top 命令动态显示系统进程的资源占用情况,包括内存使用;而 htop 是 top 的增强版,界面更友好,支持交互操作。
top 命令
top
在 top 的输出界面中,前五行是系统概览,第三行 Mem 和 Swap 分别显示物理内存和交换空间的总量、使用量、空闲量。
KiB Mem:物理内存统计(单位为KB)。KiB Swap:交换空间统计。
按 Shift+M 可按内存使用率对进程排序,快速定位高内存占用进程。
htop 命令(需安装)
yum install htop -y # CentOS 7/8 htop
htop 以彩色界面直观展示内存信息,左侧为CPU和内存使用率条形图,中间为进程列表,按 F6 可选择按内存排序。

使用 /proc/meminfo 查看详细内存信息
/proc/meminfo 是Linux内核提供的内存信息虚拟文件,包含更详细的内存统计数据。
查看方式
cat /proc/meminfo
输出包含数十项内存指标,常见关键字段如下:
| 关键字 | 含义 | 示例值 |
|————–|————————–|———-|
| MemTotal | 总物理内存 | 8053056 kB |
| MemFree | 完全空闲内存 | 4321400 kB |
| Buffers | 用于块设备缓冲的内存 | 123456 kB |
| Cached | 页缓存(文件系统缓存) | 2345678 kB |
| SwapTotal | 交换空间总量 | 2097152 kB |
| SwapFree | 交换空间空闲量 | 2097152 kB |
提取关键信息
若仅关注总内存和可用内存,可结合 grep 使用:
grep -E 'MemTotal|MemAvailable|SwapTotal|SwapFree' /proc/meminfo
使用 vmstat 命令监控内存活动
vmstat 报告虚拟内存统计信息,可反映内存的动态使用趋势。
基本用法
vmstat -s
输出显示内存各分量的总量和使用量,
8053056 total memory
2345678 used memory
5707378 free memory
123456 buffers
2345678 cached 实时监控
vmstat 1 5 # 每秒刷新一次,共显示5次
输出中的 si(swap in)和 so(swap out)指标若持续大于0,表示系统频繁使用交换空间,可能存在内存不足问题。
使用 smem 工具查看进程内存占用
smem 是一款更精确的内存分析工具,可统计进程的“实际内存”(USS)和“共享内存”(PSS),避免重复计算共享内存。

安装与使用
yum install smem -y smem -u
输出显示每个进程的内存占用,包括 Unique(USS)、Shared(共享内存)、Slab(内核 slab 缓存)等,帮助识别内存泄漏或异常进程。
在CentOS系统中,查看内存数量的方法多样,可根据需求选择:
- 快速概览:
free -h最直观,适合日常检查。 - 实时监控:
top或htop动态跟踪进程内存,适合排查性能问题。 - 详细信息:
/proc/meminfo提供最全面的内存统计数据。 - 趋势分析:
vmstat监控内存活动,预警内存压力。 - 进程级分析:
smem精确计算进程内存,定位资源大户。
掌握这些工具后,可高效管理CentOS系统的内存资源,确保系统稳定运行。
相关问答FAQs
A:used 内存包含了内核缓冲区和缓存(buff/cache),这部分内存可被系统快速回收供新进程使用,实际应关注 available 列,它表示真正可用的内存量,若 available 充足,即使 used 较高,系统性能也不会受影响。
Q2:如何判断CentOS系统是否需要增加内存?
A:可通过以下指标综合判断:
free -h中available持续低于总内存的10%;vmstat中si(swap in)和so(swap out)频繁非零;top或htop中高内存占用进程长期占用大量资源且无法释放。
若满足上述条件,建议增加物理内存或优化应用内存使用。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复