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 文件,这些方法都能准确反映进程的实际物理内存使用情况。

相关推荐
BestOrNothing_20152 分钟前
Ubuntu 22.04 下调整 VS Code 界面及字体教程
linux·vscode·ubuntu22.04·界面调整
Zero-Talent12 分钟前
TCP/IP协议
运维·服务器·网络
桌面运维家13 分钟前
Windows/Linux云桌面:高校VDisk方案部署指南
linux·运维·windows
Du_chong_huan16 分钟前
1.7 计算机网络和因特网的历史 | 《计算机网络:自顶向下方法》精读版
运维·服务器·网络
ZZZKKKRTSAE25 分钟前
rhel9快速上手Docker
运维·docker·容器
筱顾大牛26 分钟前
Docker安装教程(加汉化!超详细!!!)
运维·docker·容器
没头脑的男大28 分钟前
关于tailscale和ssh那些事儿
运维·服务器·ssh
mzhan01734 分钟前
Linux:intel:Cache Allocation tech
linux·cpu
竹之却43 分钟前
OpenClaw 接入QQ-Bot + 接入Feishu(飞书)
运维·服务器·飞书·openclaw·qq-bot·opencalw接入qq+飞书
九成宫1 小时前
安装和配置Docker教程(装在其他盘)
运维·docker·容器