怎么看内存占用率linux
怎么看内存占用率linux详细介绍
在 Linux 系统中查看内存占用率有多种方法,以下是常用的几种方式:
1. 使用 free 命令(简单快捷)
free 命令用于显示系统内存(包括物理内存和交换内存)的使用情况,是最常用的工具之一。
语法:
bash
选项
常用选项:
-h:以人类可读的格式显示(KB/MB/GB)。-m:以 MB 为单位显示。-g:以 GB 为单位显示。-s <秒数>:定期刷新输出(如free -h -s 5每 5 秒刷新一次)。
示例输出:
bash
$total used shared buff/cache available
Mem: 15Gi .4Gi .6Gi 477Mi .0Gi 11Gi
Swap: 15Gi 0B 15Gi
- Mem:物理内存,包括:
total:总内存used:已使用内存(含缓存和缓冲区)free:未使用的内存buff/cache:缓冲区(buffer)和缓存(cache),用于加速文件读写,可被程序回收利用available:实际可用于运行程序的内存(free + buff/cache中可回收的部分)
- Swap:交换空间(虚拟内存),若
used较大,可能表示物理内存不足。
2. 使用 top 命令(实时监控,含进程级信息)
top 命令实时显示系统资源占用,包括内存,并可按内存占用排序。
语法:
bash
操作步骤:
- 运行
top后,默认显示 CPU 占用排序的进程列表。 - 按键盘上的
M键(大写),切换为按内存占用(RES列)排序。 - 查看顶部的内存统计信息(类似
free命令的简化版):plaintextMem: 16168280k total, 3527868k used, 12640412k free, 97664k buffersSwap: 16777212k total, 0k used, 16777212k free, 2684352k cached
RES列:进程实际占用的物理内存(常驻集大小)。SHR列:共享内存(如共享库,不全部计入进程内存占用)。
3. 使用 htop 命令(增强版 top,可视化更强)
htop 是交互式工具,界面更友好,支持颜色标记和进程树查看,需先安装(多数系统默认未安装)。
安装(以 Debian/Ubuntu 为例):
bash
使用:
bash
- 顶部显示内存和交换空间的使用情况(百分比和绝对值)。
- 下方列表直接显示进程的内存占用(
MEM%列),按M键可按内存排序。
4. 查看 /proc/meminfo 文件(详细内存信息)
/proc 是 Linux 的虚拟文件系统,meminfo 包含详细的内存统计数据。
语法:
bash
/proc/meminfo
关键字段:
plaintext
MemTotal: 16168280 kB # 总物理内存MemFree: 12640420 kB # 空闲内存(未被使用)
MemAvailable: 14806724 kB # 可用内存(包含可回收的缓存/缓冲区)
Buffers: 101580 kB # 缓冲区(文件系统元数据缓存)
Cached: 2582740 kB # 缓存(已打开的文件内容)
SwapTotal: 16777212 kB # 总交换空间
SwapFree: 16777212 kB # 空闲交换空间
5. 使用 vmstat 命令(内存和系统整体性能)
vmstat 提供内存、进程、IO 等系统资源的统计信息,适合分析内存性能问题。
语法:
bash
间隔秒数 次数
示例(每 2 秒刷新一次,共 3 次):
bash
关键内存相关列:
free:空闲物理内存(KB)。swap:空闲交换空间(KB)。si/so:交换空间的输入 / 输出速率(KB/s),若长期大于 0,可能内存不足。
6. 使用 ps 命令(获取单个进程的内存占用)
若需查看特定进程的内存占用,可结合 ps 命令:
语法:
bash
进程PID %mem,cmdaux 进程名
示例:
bash
aux firefox
总结:常用场景推荐
- 快速查看整体内存:
free -h或cat /proc/meminfo。 - 实时监控 + 进程排序:
top(按M键)或htop(更直观)。 - 分析内存性能问题:
vmstat或结合top/htop观察 Swap 使用情况。
如果发现内存占用过高,可通过 htop 或 top 按内存排序,定位占用内存最多的进程,进一步排查是否存在内存泄漏或资源滥用问题。