认识/proc/[pid]/

/proc/[pid]/是干什么的?

系统中当前运行的每一个进程都有对应的一个目录在proc下,以进程的PID号为目录名,它们是读取进程信息的接口。

/proc/[pid]/下的文件作用

参考《Linux就该这么学》
我这里稍微提一下:

  1. cmdline、exe
    这两个可以找到执行的参数与执行的程序位置(就算已经被删除也能看到)。
  2. environ
    可以看到这个进程所使用的环境变量
  3. fd
    这个目录可以在操作系统文件描述符被占尽的时候看进程占用了哪些。
  4. status
FDSize:	256---------------------------------表示到目前为止进程使用过的描述符总数。
VmPeak:	 1393220 kB--------------------------虚拟内存峰值大小。
VmSize:	 1390372 kB--------------------------当前使用中的虚拟内存,小于VmPeak。
VmHWM:	   47940 kB-----------------------------RSS峰值。
VmRSS:	   47940 kB-----------------------------RSS实际使用量=RSSAnon+RssFile+RssShmem。
RssAnon:	   38700 kB
RssFile:	    9240 kB
RssShmem:	       0 kB
VmData:	  366648 kB--------------------------进程数据段共366648KB。
VmStk:	     132 kB------------------------------进程栈一共132KB。
VmExe:	      84 kB-------------------------------进程text段大小84KB。
VmLib:	   11488 kB----------------------------进程lib占用11488KB内存。
VmPTE:	    1220 kB
VmPMD:	       0 kB
VmSwap:	       0 kB
Threads:	40-------------------------------进程中一个40个线程。
SigQ:	0/3142------------------------------进程信号队列最大3142,当前没有pending状态的信号。
SigPnd:	0000000000000000------------------没有进程pending,所以位图为0。
ShdPnd:	0000000000000000
SigBlk:	0000000000000000
SigIgn:	0000000000000006------------------被忽略的信号,对应信号为SIGINT和SIGQUIT,这两个信号产生也不会进行处理。
SigCgt:	0000000180000800------------------已经产生的信号位图,对应信号为SIGUSR2、以及实时信号32和33。
Cpus_allowed:	1---------------------------仅在第1个cpu上执行。
Cpus_allowed_list:	0
voluntary_ctxt_switches:	2377-------------线程主动切换2377次,被动切换5次。
  1. maps、smaps
    显示进程的内存区域映射信息。

总结

/proc/[pid]/帮助我们更好的了解进程对资源的调度,我们通过其也能更好的了解进程的情况。

个人博客:https://geanqin.github.io/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值