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

相关推荐
小小代码狗3 小时前
SQLi-Labs 基础注入实战教程(Less-1 ~ Less-5and Less-9)
服务器·python·php
慕伏白3 小时前
【慕伏白】Linux 系统如何根据端口号关闭进程
linux·运维·服务器
letisgo54 小时前
VMware Workstation + Ubuntu 26.04 LTS 小白运维部署手册
linux·运维·ubuntu
蓝创工坊Blue Foundry4 小时前
图片文字提取到 Excel:批量任务如何先定义要交付的字段
运维·服务器·开发语言·数据库·自动化·ocr·excel
IT探索4 小时前
Linux 查找文件指令总结
linux·算法
晚风吹长发4 小时前
Docker使用——Docker容器及相关命令
linux·运维·服务器·docker·容器·架构
ShiXZ2134 小时前
Docker Compose 安装与配置指南
运维·docker·容器
sulikey4 小时前
个人Linux操作系统学习笔记11 - 环境变量
linux·笔记·学习
Kina_C4 小时前
NFS与Autofs快速讲解-从原理到实战配置
linux·nfs·autofs
麦聪聊数据4 小时前
企业数据市场建设(四):流程闭环与价值运营,让数据市场真正转起来
运维·数据库