• 认识/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/

  • 相关阅读:
    生产者消费者代码
    C++内存深入理解
    树、森林与二叉树的相互转换
    待卿长发及腰,我必凯旋回朝
    同一进程下的线程可以共享
    操作系统知识
    进程间通信方式
    从一个微型例子看“C/C++的内存分配机制”和“数组变量名与指针变量名”(转)

    AVL Tree 操作
  • 原文地址:https://www.cnblogs.com/gean/p/12837220.html
Copyright © 2020-2023  润新知