查看服务器内存使用情况的实用方法(进阶教程)

在日常运维中,查看服务内存使用情况是排查性能问题的第一步。比如网站突然变慢、程序响应卡顿,很多时候都是内存吃紧导致的。这时候登录服务器,快速检查一下内存状态,能帮你第一时间定位问题。

使用 free 命令查看内存

最常用也最直接的方式就是 free 命令。登录服务器后输入:

free -h

参数 -h 表示以易读的单位(如 MB 或 GB)显示。输出结果中重点关注 usedavailable 这两列。available 才是真正还能用的内存,比 free 列更准确。

实时监控:top 和 htop

想看动态信息,top 命令很合适。运行后按 M 可以按内存使用排序,一眼看出哪个进程最耗内存。

top

如果服务器装了 htop,体验会更好,界面更清晰,支持鼠标操作,安装方式一般是:

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

从 /proc/meminfo 获取详细信息

系统底层的数据存放在 /proc/meminfo,可以直接查看:

cat /proc/meminfo

这里列出的内容比 free 更细,比如 MemAvailableBuffersCached 等,适合深入分析内存使用细节。

结合脚本定期检查

如果你管理多台服务器,可以写个简单脚本定时收集内存数据。例如创建一个 check_mem.sh

#!/bin/bash
echo "[内存使用情况]"
free -h | grep Available

配合 crontab 每小时记录一次,出问题时翻日志就能看到趋势。

实际工作中,有个客户反馈后台系统隔三差五卡死。上去一查 freeavailable 长期低于 100MB,再用 top 一看,某个 Java 进程把内存撑满了。调整 JVM 参数后问题就解决了。可见及时查看内存使用,真能省不少事。