linux 进程的资源使用

来源:互联网 发布:大数据技术 编辑:程序博客网 时间:2024/06/07 11:28

Linux内核追踪每个进程使用的资 比如 堆栈  代码段  数据段 运行的位置

int getrusage(int who , struct rusage * usage) 检查进程本身,子进程或者两者之和的资源使用

       函数返回一个usage结构,存放进程使用的资源

       usage是很长的Linux只用前五项

       who指明使用的资源中哪一种将被返回,who有三种取值

                RUSAGE_SELF           进程本身使用的资源

                RUSAGE_CHILDERN   所有进程使用的资源

                RUSAGE_BOSH           本身以及所有子进程使用资源的和

       函数执行过程中rusage结构体将会被填写,在Linux中填写的只有前五项

                  #include <sys/resource.h>

                struct rusage{

                     struct timeval ru_utime;    执行用户代码所用的全部时间,包括用来运行应用指令的时间,

                                                               不包括内核用来完成应用程序请求的时间

                     struct timeval ru_stime;     内核用来执行用户请求的全部时间,不包括进程阻塞花的时间

                     long int ru_minflt;              子进程造成的次要的缺陷数

                     long int ru_majflt;              进程造成的主要的缺陷数  产生原因:进程访问他的可执行部分(代码段

                                                                但这部分还没从磁盘调入内存

                     long int ru_nswap;             调入内存的页面数

                     。。。。。。。 

                }

原创粉丝点击