插件窝 干货文章 linux查看进程占用内存大小

linux查看进程占用内存大小

内存 命令 占用 进程 319    来源:    2025-04-05

在 Linux 系统中,查看进程占用内存大小的常用方法有以下几种:


1. 使用 top 命令

  • 命令bash top
  • 操作
    • M(大写)按内存使用排序。
    • 查看 RES(常驻内存,单位 KB)和 %MEM(内存占用百分比)。
  • 退出:按 q

2. 使用 htop(需安装)

  • 安装(如未安装): bash sudo apt install htop # Debian/Ubuntu sudo yum install htop # CentOS/RHEL
  • 命令bash htop
  • 操作
    • 内存列默认显示,按 F6 可选择按内存排序。

3. 使用 ps 命令

  • 命令(查看特定进程): bash ps -p <PID> -o pid,rss,%mem,cmd
    • rss:物理内存占用(KB)。
    • %mem:内存占用百分比。
  • 示例(查看所有进程的内存占用): bash ps aux --sort=-%mem | head -n 10 # 按内存降序显示前10个进程

4. 使用 pmap 命令

  • 命令(查看进程详细内存映射): bash pmap -x <PID>
    • 输出中的 RSS 列显示实际占用内存(KB)。

5. 查看 /proc 文件系统

  • 命令bash cat /proc/<PID>/status | grep -i vm
    • 关键字段:
    • VmRSS:实际使用的物理内存。
    • VmSize:虚拟内存总量(包含共享库等)。

6. 使用 free 命令(系统整体内存)

  • 命令bash free -h
    • 显示系统总内存、已用内存、空闲内存等(不针对单个进程)。

常见问题解答

  • Q: RESVIRT 的区别?

    • RES(RSS):实际占用的物理内存。
    • VIRT:虚拟内存总量(含共享库、未使用的分配内存等)。
  • Q: 如何计算进程实际内存?

    • 优先参考 REStop/ps 中的 RSS),它表示进程独占的物理内存。

通过以上方法,可以快速定位进程的内存占用情况。如需进一步分析内存泄漏或详细分配,可使用 valgrindgdb 等工具。