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