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

相关推荐
JiMoKuangXiangQu2 小时前
bash 启动程序的流程
linux·bash·进程启动
大志若愚YYZ2 小时前
嵌入式Linux——Shell脚本编程
linux
大志若愚YYZ2 小时前
嵌入式Linux学习——环境变量与配置文件的关系(⭐难理解)
linux·学习
香吧香2 小时前
SNMP 请求响应报文传输分片定位
linux·网络与传输协议
AI绘画小332 小时前
渗透测试数据库判断卡壳?分类 + 方法 + SQL/NoSQL 脚本速用
服务器·数据库·sql·mysql·web安全·nosql
尤利乌斯.X2 小时前
在Java中调用MATLAB函数的完整流程:从打包-jar-到服务器部署
java·服务器·python·matlab·ci/cd·jar·个人开发
Bowen_CV3 小时前
Linux 系统安装与环境配置实践
linux·运维·服务器
JZC_xiaozhong3 小时前
跨系统流程如何打通?选 BPM 平台认准这三点
大数据·运维·自动化·数据集成与应用集成·业务流程管理·流程设计可视化·流程监控
3DVisionary3 小时前
基于数字图像相关(DIC)技术的机械臂自动化焊接残余应力全场变形高精度测量
运维·自动化·数字图像相关·自动化焊接·焊接变形·全场测量·机械臂/机器人