使用getrusage获取进程使用系统资源信息
来源:互联网 发布:淘宝偷换链接怎么处理 编辑:程序博客网 时间:2024/06/06 02:43
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/resource.h>#include <time.h>#include <unistd.h>int main(void){ while(1) { struct rusage ru; memset(&ru, 0, sizeof(struct rusage)); getrusage(RUSAGE_SELF, &ru); printf("ou/inblock:%ld,%ld,snd/rcvmsg:%ld,%ld,max/ix/idrss:%ld,%ld,%ld,min/majflt:%ld,%ld,signal:%ld,nv/nivcsw:%ld,%ld,swap:%ld,utime:%lu,%lu,stime:%lu,%lu\r\n", ru.ru_oublock, ru.ru_inblock, ru.ru_msgsnd, ru.ru_msgrcv, ru.ru_maxrss, ru.ru_ixrss, ru.ru_idrss, ru.ru_minflt, ru.ru_majflt, ru.ru_nsignals, ru.ru_nvcsw, ru.ru_nivcsw, ru.ru_nswap, ru.ru_utime.tv_usec, ru.ru_utime.tv_sec, ru.ru_stime.tv_usec, ru.ru_stime.tv_sec);/* ru_oublock: 块输出操作 ru_inblock: 块输入操作 ru_msgsnd: 发送的message ru_msgrcv: 收到的message ru_maxrss: 最大驻留集大小 ru_ixrss: 全部共享内存大小 ru_idrss:全部非共享内存大小 ru_minflt: 页回收 ru_majflt: 页失效 ru_nsignals: 收到的信号 ru_nvcsw: 主动上下文切换 ru_nivcsw: 被动上下文切换 ru_nswap: 交换区 ru_utime.tv_usec: 用户态时间 (microseconds) ru_utime.tv_sec: 用户态时间(seconds) ru_stime.tv_usec: 系统内核时间 (microseconds) ru_stime.tv_sec: 系统内核时间(seconds)*/ //do something sleep(1); } return 0;}