插件窝 干货文章 linux查看内存使用情况的命令有哪些

linux查看内存使用情况的命令有哪些

内存 进程 查看 使用 814    来源:    2025-05-02

在 Linux 系统中,查看内存使用情况的常用命令如下,涵盖不同维度的信息展示:


1. free - 查看内存和交换分区使用情况

free -h  # 人类可读格式(自动转换单位)
free -m  # 以 MB 为单位显示
free -s 5  # 每 5 秒刷新一次

输出关键字段说明: - total:总内存。 - used:已用内存(含缓存/缓冲区)。 - free:完全未使用的内存。 - shared/buff/cache:缓存和缓冲区占用的内存。 - available:实际可用的内存(估算值)。


2. top / htop - 动态查看进程及内存占用

top  # 实时监控(按 `q` 退出)
htop  # 增强版(需安装,支持交互式操作)

关键信息: - %MEM:进程占用物理内存百分比。 - RES:进程实际使用的物理内存(单位 KB)。 - VIRT:进程使用的虚拟内存总量。


3. vmstat - 查看虚拟内存统计

vmstat -s  # 显示详细内存统计(包括页、交换分区等)
vmstat 2 5  # 每 2 秒刷新一次,共 5 次

输出字段: - si(swap in)、so(swap out):交换分区活动。 - free:空闲内存。 - buff/cache:缓存和缓冲区用量。


4. /proc/meminfo - 详细内存信息文件

cat /proc/meminfo  # 显示所有内存细节

关键字段: - MemTotalMemFreeMemAvailable。 - SwapTotalSwapFree。 - BuffersCachedSlab


5. ps - 查看特定进程内存占用

ps aux --sort=-%mem | head -10  # 按内存使用排序显示前 10 个进程
ps -p <PID> -o %mem,rss  # 查看指定进程的内存占用和 RSS

6. glances - 综合监控工具(需安装)

glances  # 图形化界面显示 CPU、内存、磁盘等

7. smem - 按用户或进程统计内存(需安装)

smem -u  # 按用户汇总内存使用
smem -p  # 按进程显示比例

8. sar - 历史内存监控(需安装 sysstat

sar -r 1 3  # 查看实时内存使用(每秒 1 次,共 3 次)
sar -r -f /var/log/sa/saXX  # 查看历史数据(XX 为日期)

常用场景推荐

  • 快速查看概要free -h
  • 分析进程内存占用topps aux --sort=-%mem
  • 排查内存泄漏vmstat -s 结合 /proc/meminfo
  • 历史趋势分析sar -r

根据需求选择命令,多数场景下 freetop 已能满足基本需求。