linux 系统查看进程占用物理内存大小方法

在 Linux 系统中,有多个命令可以查看进程占用的物理内存大小。以下是几种常用的方法:

1. ps 命令

bash

复制代码
# 查看指定进程的内存使用
ps -o pid,ppid,cmd,%mem,rss -p <PID>

# 按内存使用排序查看所有进程
ps aux --sort=-%mem | head

# 查看特定进程的详细信息
ps -p <PID> -o pid,ppid,cmd,%mem,rss,vsz,size

参数说明:

  • %mem:内存使用百分比

  • rss:物理内存使用量(KB)

  • vsz:虚拟内存使用量(KB)

  • size:进程占用的内存大小

2. top 命令

bash

复制代码
# 交互式查看进程内存使用
top -p <PID>

# 批处理模式查看
top -b -n 1 -p <PID>

在 top 界面中:

  • RES:物理内存使用量

  • %MEM:内存使用百分比

  • VIRT:虚拟内存使用量

3. pmap 命令

bash

复制代码
# 查看进程详细的内存映射
pmap -x <PID>

# 查看进程内存摘要
pmap <PID> | tail -1

4. /proc 文件系统

bash

复制代码
# 查看进程状态信息
cat /proc/<PID>/status

# 查看进程内存统计
cat /proc/<PID>/statm

# 查看详细内存信息
cat /proc/<PID>/smaps

/proc/<PID>/statm 输出说明:

  • 第一个数字:总程序大小

  • 第二个数字:物理内存使用量(页数)

  • 第三个数字:共享页面数

5. 使用脚本查看

bash

复制代码
#!/bin/bash
PID=$1
if [ -f /proc/$PID/status ]; then
    echo "进程 $PID 内存使用情况:"
    grep -E "VmRSS|VmSize|VmData|VmStk|VmExe" /proc/$PID/status
else
    echo "进程 $PID 不存在"
fi

6. htop 命令(需要安装)

bash

复制代码
htop -p <PID>

实际应用示例

bash

复制代码
# 查找并监控 nginx 进程的内存使用
pgrep nginx | xargs ps -o pid,cmd,%mem,rss --no-headers

# 持续监控某个进程的内存变化
watch -n 1 "ps -p <PID> -o pid,%mem,rss --no-headers"

内存单位说明

  • RSS(Resident Set Size):进程占用的物理内存大小

  • 默认单位通常是 KB

  • 1 MB = 1024 KB

  • 1 GB = 1024 MB

最常用的方法是使用 ps aux 或直接查看 /proc/<PID>/status 文件,这些方法都能准确反映进程的实际物理内存使用情况。

相关推荐
YuMiao1 小时前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
chlk1231 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑1 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒1 天前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号1 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
Sinclair3 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器