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

如何查看linux电脑内存

使用 free -h命令或查看 /proc/meminfo文件可快速查看Linux系统内存使用情况

在Linux系统中,查看内存使用情况是日常运维和故障排查的重要操作,以下是多种查看内存状态的方法及详细解析:

命令行工具查询内存

  1. free命令

    • 基本用法free命令是快速查看内存整体使用情况的最常用工具,它通过读取/proc/meminfo文件汇总关键信息。
    • 参数说明
      • -h:以人类可读的格式(如GB、MB)显示内存数值。
      • -t:增加总内存行,方便统计已用比例。
    • 输出示例(执行free -ht):
      | 字段 | 含义 |
      |——————–|———————|
      | total | 物理内存总量 |
      | used | 已用内存(包含缓存)|
      | free | 空闲内存 |
      | shared | 共享内存 |
      | buff/cache| 缓冲区与缓存 |
      | available | 实际可用内存 |
    • 注意:Linux将”已用内存”计算为total free,但实际可用内存需结合available字段(已扣除缓存和缓冲区)。
  2. top/htop命令

    如何查看linux电脑内存  第1张

    • top:实时显示系统资源(CPU、内存、进程)状态,默认按q退出,按M键可按内存使用排序进程。
    • htop:增强版top,支持鼠标操作和垂直/水平滚动,需手动安装(如sudo apt install htop)。
    • 内存相关字段
      | 字段 | 含义 |
      |——————|————————–|
      | VIRT | 进程虚拟内存(含共享库) |
      | RES | 常驻内存(实际占用) |
      | SHR | 共享内存 |
  3. vmstat命令

    • 用途:查看虚拟内存(swap)和磁盘I/O状态,适合分析内存交换频率。
    • 示例vmstat -s输出关键指标:
        628800 K total memory
        542764 K used memory
         85936 K free memory
        204800 K swap cache
           0 K buffer memory
    • 重点字段used memory为实际已用内存,swap cache表示交换分区使用量。
  4. /proc/meminfo文件

    • 路径:直接查看/proc/meminfo,该文件动态更新内存信息,是free等命令的数据源。
    • 关键字段
      | 参数 | 描述 |
      |————————|————————–|
      | MemTotal | 物理内存总量 |
      | MemFree | 未分配内存(不含缓存) |
      | Buffers | 内核缓冲区(如网络数据) |
      | Cached | 文件系统缓存 |
      | SwapTotal | 交换分区总量 |
      | Active | 活动内存(最近使用) |
      | Inactive | 非活动内存(可回收) |
    • 查看方式cat /proc/meminfo | grep -E 'Mem|Swap'可过滤关键信息。

图形化界面工具

  1. GNOME System Monitor
    • 启动方式:在GNOME桌面环境中,通过应用菜单搜索“System Monitor”启动。
    • 功能:可视化展示内存、CPU、网络使用曲线,支持按进程排序内存占用。

特殊场景查询

  1. 查看单个进程内存占用

    • 命令ps aux --sort=-%mem按内存占比排序进程。
    • 示例输出
      USER       PID %MEM ... COMMAND
      root         1  0.3 ... systemd
      user      1234  5.6 ... chrome
  2. 诊断内存泄漏

    • 工具组合:使用htop观察异常进程,配合pmap <PID>查看进程内存映射。

相关问答FAQs

  1. Q:如何判断Linux系统是否内存不足?
    A:关注以下指标:

    • free命令中available值长期低于总内存10%;
    • topSwap列频繁出现大量使用;
    • 系统频繁触发OOM(Out Of Memory)机制杀死进程。
  2. Q:如何查看某个进程的实际内存消耗?
    A:使用pshtop查看进程的RSS(Resident Set Size)值,即实际物理内存占用。ps -o pid,rss,cmd <PID>

0