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

Linux如何查看服务器内存命令?

在Linux中查看服务器内存,常用命令: ,1. ** free -h**:直观显示内存总量、已用、空闲及缓存情况( -h自动转换GB/MB单位)。 ,2. ** top** 或 ** htop**:实时动态查看内存占用(按 q 退出)。 ,3. ** cat /proc/meminfo**:获取详细内存统计信息。

一、free 命令:基础内存状态速查

命令示例

free -h

输出示例

              total    used    free  shared  buff/cache   available
Mem:           7.6G    2.1G    1.2G    123M        4.3G        5.0G
Swap:          2.0G    0B      2.0G

关键参数解析

  • total:物理内存总量
  • used:已使用内存(含系统缓存)
  • free:完全未使用的内存
  • buff/cache:缓存/缓冲区占用量(可回收利用)
  • available核心指标!表示应用实际可用内存(含可回收缓存)

建议始终使用 -h(人性化显示单位)或 -m(以MB显示)。available 值低于总内存10%时需警惕内存不足。


二、top / htop 命令:动态内存监控

top 命令(系统自带)

执行后按 M 按内存排序进程:

top

输出关键行

MiB Mem :   7854.8 total,   1234.2 free,    ...   4567.3 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,    ... 

htop 命令(需安装,更直观)

htop

Linux如何查看服务器内存命令?  第1张

优势:实时可视化内存占用、进程排序、树状结构展示。


三、/proc/meminfo 文件:底层详细数据

cat /proc/meminfo

核心参数解析

MemTotal:       7854864 kB   # 总内存
MemFree:         123456 kB   # 空闲内存
Buffers:          23456 kB   # 缓冲区用量
Cached:         3456789 kB   # 页面缓存
SwapCached:           0 kB   # 交换缓存
Shmem:           123456 kB   # 共享内存
...

️ 注意:此文件数据单位为 kB,需自行换算为GB(值/1048576)。


四、vmstat:内存趋势与性能分析

vmstat -s -S M  # 以MB为单位显示统计摘要

输出示例

      7854 M total memory
      1234 M free memory
      2345 M buffer memory
      3456 M swap cache
       0 M swapped out

高级用法:vmstat 2 5(每2秒采样1次,共5次)监控内存变化趋势。


️ 五、专业工具扩展

工具 安装命令 特点
smem sudo apt install smem 按PSS/USS统计实际物理内存占用
glances pip install glances 全资源监控仪表盘
nmon sudo apt install nmon IBM性能分析神器,支持导出报表

六、场景化诊断技巧

  1. 内存泄漏检测
    top 中持续增长的进程 RES 值 → 结合 pidstat -r 60 跟踪

  2. 缓存利用率优化
    free 中高 buff/cache + 低 free → 正常现象(Linux主动利用缓存加速IO)

  3. 交换空间告警
    vmstatsi(换入)/so(换出)>0 → 物理内存不足导致性能下降


常见疑问解答

Q:free 显示内存几乎用光,但 available 充足,是否正常?
正常! Linux会最大限度利用内存作缓存(buff/cache),当应用需要时自动释放。

Q:如何计算应用程序真实内存占用?
推荐公式:
实际物理内存 = RSS - Shared
工具:smem -p -P nginx (统计nginx进程组的私有内存)


引用说明

  • 参考 Linux man 手册(man free/man top/man proc
  • 数据指标定义依据 内核文档
  • 运维方法论参考《Linux性能优化大师》& Google SRE实践指南

原创声明基于多年Linux系统管理经验整理,验证环境为CentOS 7+/Ubuntu 20.04 LTS。

通过以上工具组合,您可精准掌握服务器内存健康状态,及时防范性能风险!

0