cat /proc/$PID/status进程状态

Posted 衣舞晨风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cat /proc/$PID/status进程状态相关的知识,希望对你有一定的参考价值。

[root@554735 pcstat]# cat /proc/2549/status
Name:   java
State:  S (sleeping)
Tgid:   2549
Ngid:   2549
Pid:    2549
PPid:   2527
TracerPid:      0
Uid:    0       0       0       0
Gid:    0       0       0       0
FDSize: 4096
Groups:
VmPeak: 18271957084 kB
VmSize: 18271943768 kB
VmLck:         0 kB
VmPin:         0 kB
VmHWM:   4530452 kB
VmRSS:   4520872 kB
RssAnon:          778144 kB
RssFile:           17196 kB
RssShmem:        3725532 kB
VmData: 18262562132 kB
VmStk:       132 kB
VmExe:         8 kB
VmLib:     15020 kB
VmPTE:     13532 kB
VmSwap:        0 kB
Threads:        1016
SigQ:   0/515138
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000000000
SigCgt: 2000000181005ccf
CapInh: 00000000a80425fb
CapPrm: 00000000a80425fb
CapEff: 00000000a80425fb
CapBnd: 00000000a80425fb
CapAmb: 0000000000000000
Seccomp:        2
Cpus_allowed:   ffffffff
Cpus_allowed_list:      0-31
Mems_allowed:   00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000003
Mems_allowed_list:      0-1
voluntary_ctxt_switches:        51
nonvoluntary_ctxt_switches:     7
[root@554735 pcstat]#

VmPeak代表当前进程运行过程中占用内存的峰值.

VmSize代表进程现在正在占用的内存

VmLck代表进程已经锁住的物理内存的大小.锁住的物理内存不能交换到硬盘.

VmHWM是程序得到分配到物理内存的峰值.

VmRSS是程序现在使用的物理内存.

VmData:表示进程数据段的大小.

VmStk:表示进程堆栈段的大小.

VmExe:表示进程代码的大小.

VmLib:表示进程所使用LIB库的大小.

VmPTE:占用的页表的大小.

VmSwap:进程占用Swap的大小.

Threads:表示当前进程组的线程数量.

SigPnd:屏蔽位,存储了该线程的待处理信号,等同于线程的PENDING信号.

ShnPnd:屏蔽位,存储了该线程组的待处理信号.等同于进程组的PENDING信号.

SigBlk:存放被阻塞的信号,等同于BLOCKED信号.

SigIgn:存放被忽略的信号,等同于IGNORED信号.

SigCgt:存放捕获的信号,等同于CAUGHT信号.

CapEff:当一个进程要进行某个特权操作时,操作系统会检查cap_effective的对应位是否有效,而不再是检查进程的有效UID是否为0.

CapPrm:表示进程能够使用的能力,在cap_permitted中可以包含cap_effective中没有的能力,这些能力是被进程自己临时放弃的,也可以说cap_effective是cap_permitted的一个子集.

CapInh:表示能够被当前进程执行的程序继承的能力.

CapBnd:是系统的边界能力,我们无法改变它.

Cpus_allowed:3指出该进程可以使用CPU的亲和性掩码,因为我们指定为两块CPU,所以这里就是3,如果该进程指定为4个CPU(如果有话),这里就是F(1111).

Cpus_allowed_list:0-1指出该进程可以使用CPU的列表,这里是0-1.

voluntary_ctxt_switches表示进程主动切换的次数.

nonvoluntary_ctxt_switches表示进程被动切换的次数.
个人微信公众号:

作者:jiankunking 出处:http://blog.csdn.net/jiankunking

以上是关于cat /proc/$PID/status进程状态的主要内容,如果未能解决你的问题,请参考以下文章

Linux下进程信息/proc/pid/status文件深入分析

为什么/ proc / PID / status中进程的名称与package name或ps命令不匹配

Linux下实现脚本监测特定进程占用内存情况

Linux下进程信息的深入分析

依靠 /proc/[pid]/status 检查另一个进程的身份

linux进程隐藏 hook readdir函数 挂载覆盖/proc/pid 目