Linux:在Linux中查看进程占用内存大小的方法

在开发和运维过程中,经常会遇到的问题是一个进程到底占用了多大的内存。以下通过常用的2个命令来说明如何获取进程占用的内存

比如有一个java进程,它的pid=7020

$ps -ef | grep LogAgent | grep ^grep
usrapp 7020 1 0 15:23 ? 00:00:02 java -jar LogAgent.jar

1、使用ps

$ps -o vsz,rss,sz,size,pid -q7020
VSZ RSS SZ SIZE PID
4444604 39160 1111151 4268292 7020
以上显示的数字的单位是KB ,其中vsz,rss,sz,size的含义如下:

|------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| name | description |
| vsz | virtual memory size of the process in KiB (1024-byte units). Device mappings are currently excluded; this is subject to change. (alias vsize). |
| rss | resident set size, the non-swapped physical memory that a task has used (in kiloBytes). (alias rssize, rsz). |
| sz | size in physical pages of the core image of the process. This includes text, data, and stack space. Device mappings are currently excluded; this is subject to change. See vsz and rss. |
| size | approximate amount of swap space that would be required if the process were to dirty all writable pages and then be swapped out. This number is very rough! |

其中最关注的是RSS,它是实际占用的物理内存的大小。

2、使用top

$top -n 1 -p 7020
top - 16:29:32 up 166 days, 5:59, 3 users, load average: 0.25, 0.31, 0.48
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 3.4 sy, 0.0 ni, 96.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 7388532 total, 158576 free, 5822636 used, 1407320 buff/cache
KiB Swap: 16777212 total, 12173780 free, 4603432 used. 1012880 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7020 usrapp 20 0 4444604 39160 12444 S 0.0 0.5 0:02.15 java
从执行结果可以看到:
ps. VSZ=top.VIRT
ps. RSS=top.RES

参考文档

ps(1) - Linux manual page

top(1) - Linux manual page

相关推荐
海宇数据19 分钟前
零信任架构实战:基于海宇入职背调报告构建自动化即时配送与网约车众包运力准入鉴权网关
运维·人工智能·架构·自动化
姜鱼问生37 分钟前
每次开机手动检查 6 样东西?我写了个 2 秒自检脚本
运维·网络·nginx·docker·容器
wangqiaowq1 小时前
PostgresSQL server Docker 安装部署
运维·docker·容器
高晶1 小时前
ARM 嵌入式 Linux 文件系统从入门到实战:目录结构、权限管理、选型与挂载排查全攻略
linux·程序员
南棋网络安全2 小时前
ssrf跨站请求伪造(保姆级教程)
运维·服务器·网络·网络安全
运维全世界2 小时前
Slurm集群搭建实战踩坑:存储节点无RAID、跨节点GPU无法读取数据彻底解决
linux
帷幕落秋2 小时前
进程服务与文件描述符
linux·运维·面试
用户209583592302 小时前
谛听(Diting)开发W7:检出率从 27% 到 100%,规则包从 19 条扩到 27 条
linux
帷幕落秋2 小时前
信号、Ctrl 组合键与进程状态
linux·运维·面试
大能嘚吧嘚2 小时前
Debian13系统安装
linux