插件窝 干货文章 linux怎么查看内存被什么占用

linux怎么查看内存被什么占用

内存 使用 占用 显示 294    来源:    2025-05-14

Linux查看内存占用情况的几种方法

在Linux系统中,有多个命令可以用来查看内存被哪些进程或服务占用。以下是几种常用的方法:

1. 使用free命令查看总体内存使用情况

free -h
  • -h参数以人类可读的格式显示(GB/MB)
  • 输出包括总内存、已用内存、空闲内存、缓冲/缓存等

2. 使用top命令实时查看

top
  • Shift+M可以按内存使用排序
  • 显示每个进程的内存占用百分比
  • q退出

3. 使用htop命令(需安装)

htop
  • 比top更直观的界面
  • 可以鼠标操作
  • 彩色显示,更易阅读

4. 使用ps命令查看进程内存占用

ps aux --sort=-%mem | head -10
  • 显示内存占用最高的10个进程
  • %MEM列显示内存占用百分比
  • RSS列显示实际物理内存使用量(KB)

5. 使用pmap查看具体进程内存使用

pmap -x <PID>
  • 显示指定进程的详细内存映射
  • 可以看到内存被哪些库、文件占用

6. 使用smem工具(需安装)

smem -s pss -r
  • 按PSS(比例集大小)排序
  • 更准确地反映实际内存使用情况

7. 查看/proc/meminfo

cat /proc/meminfo
  • 提供详细的内存统计信息
  • 包括各种内存类型的使用情况

高级分析

如果发现内存占用异常高但找不到明显原因,可能需要: 1. 检查是否有内存泄漏 2. 使用valgrind等工具分析 3. 检查内核日志(dmesg)是否有内存相关错误

希望这些方法能帮助你找出Linux系统中内存占用的原因。