Linux使用/proc/meminfo和free命令查看内存信息

 更新时间:2026年01月20日 09:03:08   作者:学亮编程手记  
/proc/meminfo和free都是Linux系统查看内存使用情况的工具,但free更直观易用,而/proc/meminfo提供了更底层的详细数据,下面小编为大家详细说说Linux使用/proc/meminfo和free命令查看内存信息的方法,需要的朋友可以参考下

/proc/meminfofree 命令都用于查看 Linux 系统的内存使用情况,但它们在使用方式、信息详细程度和输出格式上有显著区别:

1./proc/meminfo

  • 位置:虚拟文件系统中的一个文件
  • 访问方式cat /proc/meminfo 或直接读取文件内容
  • 特点
    • 提供最原始、最详细的内存统计数据
    • 包含内核内存管理的所有关键指标
    • 每行格式:指标名: 值 kB
    • 需要用户自己计算可用内存等衍生指标

关键指标示例

MemTotal:       16302048 kB     # 总物理内存
MemFree:         1023408 kB     # 完全空闲的内存
MemAvailable:    4567890 kB     # 可用内存(估算)
Buffers:          123456 kB     # 缓冲区内存
Cached:          5678901 kB     # 页面缓存
SwapCached:        78901 kB     # 交换缓存
...

2.free命令

  • 工具:用户空间的一个命令行工具
  • 访问方式freefree -h(人类可读)、free -m(MB单位)
  • 特点
    • 解析并计算/proc/meminfo 的数据
    • 提供更直观的摘要视图
    • 自动计算可用内存等关键指标
    • 支持多种输出格式

典型输出

               total        used        free      shared  buff/cache   available
Mem:           15.5G        8.2G        1.0G        456M        6.3G        6.7G
Swap:          2.0G        345M        1.7G

主要区别对比

特性/proc/meminfofree 命令
数据来源内核直接提供读取并解析 /proc/meminfo
详细程度非常详细(30+个指标)摘要视图(关键指标)
计算需求需要手动计算自动计算可用内存等
易读性原始数据,不易读格式友好,支持单位转换
更新频率实时(每次读取)实时(但可能缓存)
使用场景脚本编程、深度分析快速查看、日常监控

关键概念解释

MemAvailable vs free 命令的 “available”

  • /proc/meminfoMemAvailable:内核估算的实际可用内存(包含可回收的缓存)
  • free 命令的 “available”:直接使用 MemAvailable 的值(从内核 3.14 开始)

“used” 内存的计算

free 命令的 “used” 内存计算方式:

used = total - free - buffers - cache

(这比单纯看 MemFree 更有意义,因为 Linux 会充分利用空闲内存做缓存)

实际使用示例

查看详细内存信息(脚本友好):

cat /proc/meminfo | grep -E "^(MemTotal|MemFree|MemAvailable|Buffers|Cached)"

快速查看摘要(日常使用):

free -h

监控内存趋势:

# 使用 free 每2秒刷新
watch -n 2 free -h

# 或使用更详细的监控
vmstat 2 5

建议

  • 日常使用:用 free -h 快速查看
  • 脚本编程/调试:用 /proc/meminfo 获取原始数据
  • 性能分析:结合两者,并加上 vmstattop 等工具

两者本质上查看的是同一套数据,但 free 提供了更友好的用户界面,而 /proc/meminfo 提供了更底层的访问接口。

到此这篇关于Linux使用/proc/meminfo和free命令查看内存信息的文章就介绍到这了,更多相关Linux /proc/meminfo和free查看内存信息内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

最新评论