当前位置:首页 > Linux > 正文

Linux内存不足?快速检查命令

Linux查看内存最常用free命令(free -h以人性化单位显示),top命令提供实时动态监控;/proc/meminfo文件存储详细内存数据。

一、free 命令(最常用)

功能:快速查看物理内存、交换空间(Swap)和缓存使用情况。
常用参数

  • -h:人性化显示单位(自动转换为 GB/MB)
  • -s N:每 N 秒刷新一次(实时监控)

示例

free -h

输出解读

              total    used    free   shared  buff/cache   available
Mem:           7.7G    2.1G    1.2G     123M        4.4G        5.1G
Swap:          2.0G    0B      2.0G
  • available:系统可用内存(含缓存回收空间),重点参考此项
  • buff/cache:被内核缓冲(Buffer)和缓存(Cache)占用的内存(可被快速释放)

二、tophtop 命令(动态监控)

功能:实时显示内存、CPU及进程资源占用(htop 需安装,界面更友好)。
操作

Linux内存不足?快速检查命令  第1张

  1. 运行 top 后按 M 键按内存排序进程
  2. 关键指标:
    • VIRT:虚拟内存用量
    • RES:实际物理内存占用
    • %MEM:进程内存占比

安装 htop

sudo apt install htop  # Debian/Ubuntu
sudo yum install htop  # CentOS/RHEL

三、查看 /proc/meminfo(底层数据源)

功能:所有内存数据的原始文件,freetop 均基于此生成报告。
命令

cat /proc/meminfo

关键字段

  • MemTotal:总物理内存
  • MemFree:完全未使用的内存
  • Buffers & Cached:缓存和缓冲占用量
  • SwapTotal & SwapFree:交换空间总量和剩余量

四、vmstat 命令(分析内存趋势)

功能:报告虚拟内存、进程、分页等统计信息,适合诊断性能瓶颈。
常用命令

vmstat -s  # 汇总内存使用统计
vmstat 2 5 # 每2秒刷新1次,共5次(动态观察)

输出关键项

  • si(Swap In):每秒从Swap读入内存的数据量
  • so(Swap Out):每秒写入Swap的数据量

    ️ 若 si/so 持续大于0,表明物理内存不足!


五、图形化工具(适合桌面环境)

  1. GNOME System Monitor
    路径:Applications > System Tools > System Monitor
  2. KSysGuard(KDE 环境)
    提供实时内存及进程图表

最佳实践建议

  1. 优先关注 availablefree -h),它反映真实可用内存。
  2. Swap 使用率高:需扩展物理内存或优化应用。
  3. 缓存(Cache)占用:属于正常性能优化,无需手动释放。
  4. 排查内存泄漏:持续观察 topRES 增长的进程。

专业提示
生产环境推荐组合使用 free -h(快照) + vmstat(趋势),并用 htop 定位进程级问题。


引用说明: 参考 Linux 官方文档(kernel.org)及 man 手册(如 man free, man top),确保信息准确性与专业性。

0