欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux系统中查看执行中的进程占用内存量的方法

程序员文章站 2022-10-05 16:14:50
我们可以使用cat命令查看Linux中的内存占用情况,这里就以cat的各个参数用法为主讲解Linux系统中查看执行中的进程占用内存量的方法,需要的朋友可以参考下... 16-07-07...

linux中查看某个进程占用内存的情况,执行如下命令即可,将其中的[pid]替换成相应进程的pid号:

复制代码
代码如下:

cat /proc/[pid]/status


说明
/proc/[pid]/status中所保存的信息除了内存信息,还包括进程ids、信号等信息,此处暂时只介绍内存相关的信息。

字段 说明
vmpeak 进程所使用的虚拟内存的峰值
vmsize 进程当前使用的虚拟内存的大小
vmlck 已经锁住的物理内存的大小(锁住的物理内存不能交换到硬盘)
vmhwm 进程所使用的物理内存的峰值
vmrss 进程当前使用的物理内存的大小
vmdata 进程占用的数据段大小
vmstk 进程占用的栈大小
vmexe 进程占用的代码段大小(不包括库)
vmlib 进程所加载的动态库所占用的内存大小(可能与其它进程共享)
vmpte 进程占用的页表大小(交换表项数量)
vmswap 进程所使用的交换区的大小


举例
显示进程cron的内存信息,通过pidof cron获取进程id,或者通过ps -aux | grep cron查找进程id。

复制代码
代码如下:

$ cat /proc/1161/status

name:   cron
state:  s (sleeping)
tgid:   1161
ngid:   0
pid:    1161
ppid:   1
tracerpid:  0
uid:    0   0   0   0
gid:    0   0   0   0
fdsize: 64
groups: 0
vmpeak:    23792 kb
vmsize:    23656 kb
vmlck:         0 kb
vmpin:         0 kb
vmhwm:      1040 kb
vmrss:      1004 kb
vmdata:      260 kb
vmstk:       136 kb
vmexe:        40 kb
vmlib:      2668 kb
vmpte:        72 kb
vmswap:        0 kb
threads:    1
sigq:   0/15442
sigpnd: 0000000000000000
shdpnd: 0000000000000000
sigblk: 0000000000000000
sigign: 0000000000000000
sigcgt: 0000000000010001
capinh: 0000000000000000
capprm: 0000001fffffffff
capeff: 0000001fffffffff
capbnd: 0000001fffffffff
seccomp:    0
cpus_allowed:   3
cpus_allowed_list:  0-1
mems_allowed:   00000000,00000001
mems_allowed_list:  0
voluntary_ctxt_switches:    151
nonvoluntary_ctxt_switches: 0