在日常运维中,查看服务器内存使用情况是排查性能问题的第一步。比如网站突然变慢、程序响应卡顿,很多时候都是内存吃紧导致的。这时候登录服务器,快速检查一下内存状态,能帮你第一时间定位问题。
使用 free 命令查看内存
最常用也最直接的方式就是 free 命令。登录服务器后输入:
free -h
参数 -h 表示以易读的单位(如 MB 或 GB)显示。输出结果中重点关注 used 和 available 这两列。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 更细,比如 MemAvailable、Buffers、Cached 等,适合深入分析内存使用细节。
结合脚本定期检查
如果你管理多台服务器,可以写个简单脚本定时收集内存数据。例如创建一个 check_mem.sh:
#!/bin/bash
echo "[内存使用情况]"
free -h | grep Available
配合 crontab 每小时记录一次,出问题时翻日志就能看到趋势。
实际工作中,有个客户反馈后台系统隔三差五卡死。上去一查 free,available 长期低于 100MB,再用 top 一看,某个 Java 进程把内存撑满了。调整 JVM 参数后问题就解决了。可见及时查看内存使用,真能省不少事。