在 SSH 环境下查看 VPS(Linux 服务器)的内存占用比例,可以通过以下几种常用命令实现,操作简单且能直观获取数据。
方法一:free命令(最常用)
free命令用于查看系统内存使用情况(物理内存、交换分区),支持自定义输出格式(如人类可读的单位)。基础用法
free -h # -h 表示以人类可读的单位(GB/MB)显示(推荐)
# 或直接查看原始数值(单位为 KB):
free
输出示例(free -h)
total used free shared buff/cache available
Mem: 3.7G 1.2G 456M 12M 2.1G 2.2G
Swap: 2.0G 0B 2.0G
关键字段解释
-
total:总内存大小(示例中为 3.7GB)。 -
used:已使用的内存(包含应用程序和系统缓存,注意:Linux 会将空闲内存用于缓存以提高性能,因此实际“可用”内存需看available)。 -
free:完全未使用的内存(示例中为 456MB)。 -
buff/cache:缓冲区(Buffer)和缓存(Cache)占用的内存(示例中为 2.1GB)。 -
available:实际可用的内存(估算值,包含可回收的缓存,示例中为 2.2GB)。
计算内存占用比例
若需手动计算“已用内存占比”(不含缓存):
占用比例 = (used / total) × 100%
示例中:
1.2G / 3.7G ≈ 32.4%(但实际可用内存更高,因为缓存可回收)。若需计算“实际使用内存占比”(含缓存):
实际使用占比 = ((total - available) / total) × 100%
示例中:
(3.7G - 2.2G)/3.7G ≈ 40.5%(更接近真实负载)。方法二:top命令(实时监控)
top是动态监控工具,可实时查看内存、CPU、进程的占用情况。用法
直接输入:
top
关键内存字段
启动后,顶部会显示全局内存信息(示例):
KiB Mem : 3880188 total, 467892 free, 1248568 used, 2163728 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 2297820 avail Mem
-
total:总内存(3,880,188 KB ≈ 3.7GB)。 -
free:空闲内存(467,892 KB ≈ 457MB)。 -
used:已用内存(1,248,568 KB ≈ 1.19GB)。 -
buff/cache:缓存+缓冲区(2,163,728 KB ≈ 2.06GB)。 -
avail Mem:可用内存(2,297,820 KB ≈ 2.19GB)。
按
q退出监控。方法三:htop命令(更友好的交互界面)
htop是 top的增强版(需额外安装),界面更直观,支持鼠标操作和颜色高亮。安装与使用
-
Debian/Ubuntu:
apt update && apt install htop -y -
CentOS/RHEL:
yum install epel-release -y && yum install htop -y
运行:
htop
内存显示
界面顶部会直接显示内存和交换分区的使用条,以及具体数值(如
Mem: 1.2G/3.7G),非常直观。方法四:通过 /proc/meminfo文件(原始数据)
Linux 系统的内存信息存储在
/proc/meminfo文件中,可通过 cat查看详细数据。cat /proc/meminfo
关键行示例
MemTotal: 3880188 kB # 总内存
MemFree: 467892 kB # 空闲内存
MemAvailable: 2297820 kB # 可用内存(估算)
Buffers: 123456 kB # 缓冲区
Cached: 2040272 kB # 缓存
SwapTotal: 2097148 kB # 交换分区总大小
SwapFree: 2097148 kB # 交换分区空闲大小
总结
-
快速查看:用
free -h(简洁直观)。 -
实时监控:用
top或htop(动态跟踪变化)。 -
精确计算:通过
/proc/meminfo提取数据后用脚本计算(如awk)。
如果需要自动化监控,还可以结合
watch命令定时刷新(例如每 2 秒刷新一次):watch -n 2 free -h # 每 2 秒刷新一次内存状态







