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

相关推荐
2301_800050993 小时前
华为云介绍
运维·华为云
爱潜水的小L3 小时前
自学嵌入式day39,抓包
linux
萌萌哒草头将军3 小时前
AudioDock:服务器和 NAS 音频播放最棒的软件!🚀🚀🚀
服务器·docker·node.js
lifewange4 小时前
测试场景 Linux 命令速查表
linux·运维·服务器
Vect__4 小时前
进程控制详解
linux·驱动开发
就叫飞六吧4 小时前
JSONPath“隔空取物”思想,直击JSON深处的目标字段
服务器·windows·json
姚青&4 小时前
Linux 命令介绍以及帮助命令介绍
linux·运维·服务器
wdfk_prog4 小时前
[Linux]学习笔记系列 -- [fs]fs-writeback
linux·笔记·学习
遇见火星4 小时前
详解 Linux 中的 /etc/fstab 文件
linux·运维·服务器
menggb074 小时前
在Linux系统上安装和使用Prometheus+Grafana
linux·运维·prometheus