Linux内存使用情况怎么检查?

查看Linux内存常用命令:free -h显示物理内存和交换空间使用情况;tophtop实时查看进程内存占用;cat /proc/meminfo获取详细内存数据。

基础命令:free

最快速的内存概览工具
执行命令:

Linux内存使用情况怎么检查?

free -h

输出示例:

              total    used    free  shared  buff/cache   available
Mem:           7.7G    2.1G    1.2G    123M        4.4G        5.2G
Swap:          2.0G     55M    1.9G

关键指标解析

  • total:物理内存总量
  • used:已用内存(含缓存)
  • free:完全未使用的内存
  • buff/cache:内核缓冲区(Buffer)和页面缓存(Cache),可被程序快速回收
  • available核心指标!系统可用内存(含缓存可回收部分),反映真实剩余可用量
  • Swap:交换空间使用情况(频繁使用可能需扩容内存)

💡 建议始终用 -h(人类可读格式)或 -m(MB单位)。available 值 >20% 内存总量表示健康。


动态监控:tophtop

实时进程级内存分析

  1. top 命令(系统自带):

    top
    • Shift+M 根据内存使用排序
    • 关键字段:
      • VIRT:虚拟内存(含共享库)
      • RES:实际物理内存占用
      • %MEM:进程占用物理内存百分比
  2. htop 命令(需安装,更直观):

    Linux内存使用情况怎么检查?

    sudo apt install htop  # Debian/Ubuntu
    sudo yum install htop  # CentOS/RHEL
    htop
    • 彩色界面显示,支持鼠标操作
    • 直接展示内存/交换空间使用进度条

高级统计:vmstat

分析内存、交换、I/O综合性能

vmstat -s -S M  # 以MB为单位输出统计

输出示例:

      7808 M total memory
      2147 M used memory
      3892 M active memory
      1321 M inactive memory
       128 M free memory
        ... 

核心参数

  • -s:显示详细统计报告
  • -S M/K:指定单位(MB/KB)
  • si/so:Swap In/Out(>0 表示频繁交换,需警惕)

深度解析:/proc/meminfo

内核级内存数据源

cat /proc/meminfo

关键字段

  • MemTotal:总物理内存
  • MemFree:完全空闲内存
  • Cached:页面缓存(加速文件读取)
  • SwapCached:交换缓存
  • Buffers:块设备缓冲区
  • Shmem:共享内存
  • MemAvailable:最可靠的可用内存估值(推荐优先关注)

✅ 专业提示:编程获取内存数据时(如Python脚本),直接读取此文件效率最高。

Linux内存使用情况怎么检查?


图形化工具

适合桌面用户

  1. GNOME系统监视器
    • 通过菜单启动或运行 gnome-system-monitor
    • “资源”标签页直观显示内存/交换空间曲线图
  2. KSysGuard(KDE环境):

    提供实时图表和历史数据记录


组合命令技巧

快速提取关键数据

  1. 仅显示可用内存:
    grep "MemAvailable" /proc/meminfo
  2. 监控内存变化(每2秒刷新):
    watch -n 2 "free -h | grep -E 'Mem|Swap'"

💎 最佳实践总结

场景 推荐工具 原因
快速检查可用内存 free -h 简洁直观
定位高内存进程 htop 交互式排序,可视化强
长期性能趋势分析 vmstat 2 持续输出,结合I/O/CPU
脚本调用 /proc/meminfo 无格式解析,编程友好
桌面环境 GNOME系统监视器 图形化,零学习成本

重要提醒

  • Linux会利用空闲内存作缓存(buff/cache),看似占用高实际是性能优化,无需恐慌
  • Swap 持续写入(si/so >0),可能需扩展物理内存
  • 生产环境建议用 sar(sysstat包)记录历史数据

引用说明: 参考 Linux man 手册(man freeman topman vmstat)及内核文档 proc(5),数据释义遵循 Linux 内核标准,适用于主流发行版(Ubuntu/CentOS/Debian等)。

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/20082.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月11日 21:24
下一篇 2025年6月11日 21:29

相关推荐

  • Linux怎样安装Perl?

    大多数Linux系统已预装Perl,如需安装或升级,使用包管理器: ,1. Debian/Ubuntu:sudo apt install perl ,2. RHEL/CentOS:sudo yum install perl ,3. 或下载源码编译安装。

    2025年6月9日
    100
  • Linux怎么快速查局域网IP方法

    在Linux终端输入 ip addr show 或 ifconfig 命令查看网络接口信息,内网IP地址通常标注在 eth0(有线)或 wlan0(无线)等接口的 inet 行,也可用 hostname -I 直接列出。

    2025年6月8日
    000
  • Linux怎样快速修改计算机名?

    在Linux中修改计算机名:临时修改使用hostname 新名称命令;永久修改需编辑/etc/hostname文件并更新/etc/hosts中的旧主机名,最后重启生效。

    2025年6月6日
    100
  • Linux如何测试串口?

    可用minicom建立串口会话,或通过命令测试:echo test ˃ /dev/ttyS0发送数据,cat ˂ /dev/ttyS0接收数据,需root权限并正确配置波特率。

    2025年6月2日
    300
  • 如何快速查看Linux Qt版本

    在终端执行命令查看Qt版本: ,1. 使用 qmake -v 查看安装的Qt版本 ,2. 或通过 qtchooser -list-versions 列出可用版本 ,3. 图形界面可打开Qt Creator,在”帮助 ˃ 关于Qt Creator”中查看。

    2025年6月12日
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN