/proc/pid/status 解释

/proc/9744$ cat status

Name: gedit   /*进程的程序名*/
State: S (sleeping)   /*进程的状态信息 R (running), S (sleeping), D (disk sleep), T (stopped), T(tracing stop), Z (zombie), or X (dead) */
Tgid: 9744   /*Tgid是线程组的ID,一个线程一定属于一个线程组(进程组).*/
Pid: 9744   /*进程的ID,更准确的说应该是线程的ID.*/
PPid: 7672   /*父进程的pid*/
TracerPid: 0   /*跟踪当前进程的进程ID,如果是0,表示没有跟踪.*/
Uid: 1000    1000    1000    1000 /*uid euid suid fsuid*/
Gid: 1000    1000    1000    1000 /*gid egid sgid fsgid*/

FDSize: 256 /*该字段是表示当前进程分配过的文件描述符的近似的最高值。为什么是近似,因为这里FDSize本身是不会减少的,如果刚开始打开了18个文件,则这里的FDSize等于32,若大于32,则以32为单位递增,例如33则是64;这个32的单位是依赖于系统位数的,如果是32位则是32,若是64位系统则是以64倍增。*/

Groups: 1000,2000 /*表示启动这个进程的用户所在的组,我们当前的用户test,现在在两个组(1000,2000)里面,*/

VmPeak: 60184 kB   /*当前进程运行过程中占用内存的峰值*/
VmSize: 60180 kB   /*进程现在正在占用的内存*/
VmLck: 0 kB   /*进程已经锁住的物理内存的大小.锁住的物理内存不能交换到硬盘*/
VmHWM: 18020 kB   /*程序得到分配到物理内存的峰值.*/
VmRSS: 18020 kB   /*应用程序正在使用的物理内存的大小,就是用ps命令的参数rss的值 (rss)*/
VmData: 12240 kB /*程序数据段的大小(所占虚拟内存的大小),存放初始化了的数据*/
VmStk: 84 kB   /*进程堆栈段的大小*/
VmExe: 576 kB /*进程代码的大小 */
VmLib: 21072 kB /*进程所使用LIB库的大小*/
VmPTE: 56 kB   /*占用的页表的大小*/
VmSwap: 12 kB /* 进程占用Swap的大小. */
Threads: 1 /*表示当前进程组有3个线程.*/
SigQ: 0/8183   /*待处理信号的个数/目前最大可以处理的信号的个数*/
SigPnd: 0000000000000000 /*屏蔽位,存储了该线程的待处理信号*/
ShdPnd: 0000000000000000 /*屏蔽位,存储了该线程组的待处理信号*/
SigBlk: 0000000000000000 /*存放被阻塞的信号*/
SigIgn: 0000000000001000 /*存放被忽略的信号*/
SigCgt: 0000000180000000 /*存放被俘获到的信号*/
CapInh: 0000000000000000 /*能被当前进程执行的程序的继承的能力*/
CapPrm: 0000000000000000 /*进程能够使用的能力,可以包含CapEff中没有的能力,这些能力是被进程自己临时放弃的*/
CapEff: 0000000000000000 /*是CapPrm的一个子集,进程放弃没有必要的能力有利于提高安全性*/
Cpus_allowed: 01 /*可以执行该进程的CPU掩码集*/
Mems_allowed: 1 /**/
voluntary_ctxt_switches: 1241 /*进程主动切换的次数*/
nonvoluntary_ctxt_switches: 717 /*进程被动切换的次数*/

你可能感兴趣的:(/proc/pid/status 解释)