当前位置:首页 > 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 按内存排序进程:

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

输出关键行

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

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

htop

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


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

cat /proc/meminfo

核心参数解析

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

️ 注意:此文件数据单位为 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 跟踪

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

  2. 缓存利用率优化

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

  3. 交换空间告警

    vmstat 中 si(换入)/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