/proc/meminfo 是内核实时生成的虚拟文件,提供精确内存统计:MemTotal 为总物理内存(略小于标称值),MemFree 为完全空闲内存(数值小属正常),MemAvailable 为真正可用内存(含可回收缓存)。

直接运行 cat /proc/meminfo 就能看到完整的内存统计信息。这个文件是内核实时生成的虚拟文件,不占磁盘空间,内容每秒都在动态更新。
关键字段怎么看
MemTotal:系统能使用的总物理内存(单位 kB),它通常略小于你插的内存条标称值,因为 BIOS、内核镜像、硬件保留区域会占用一小部分。
MemFree:当前完全没被任何用途占用的内存。数值小不等于内存紧张,Linux 会主动把空闲内存用于缓存,这是正常且高效的设计。
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
MemAvailable:这才是你应该重点关注的“真正可用内存”。它估算的是应用程序能立即申请到、无需触发 swap 的内存总量,已包含可快速回收的 cache 和 buffers。
快速提取常用值的小技巧
- 只看总内存和可用内存:
grep -E "^(MemTotal|MemAvailable)" /proc/meminfo - 换算成 MB 更直观:
awk '/^Mem(Total|Available):/ {printf "%s: %.0f MB\n", $1, $2/1024}' /proc/meminfo - 配合 watch 实时观察变化:
watch -n 1 'grep -E "^(MemTotal|MemFree|MemAvailable)" /proc/meminfo'
和其他命令的关系
free 命令底层就是读取 /proc/meminfo 并做了格式化处理。比如 free -h 显示的 “total”、“available” 列,对应的就是 /proc/meminfo 中的 MemTotal 和 MemAvailable;而 “free” 列则对应 MemFree。所以当你需要更细粒度或调试级信息时,/proc/meminfo 是最权威的源头。










