首页 > 其他 > 详细

linux下getrusage()

时间:2014-01-16 00:05:01      阅读:464      评论:0      收藏:0      [点我收藏+]

#include <sys/resource.h>

/* Return resource usage information on process indicated by WHO
and put it in *USAGE. Returns 0 for success, -1 for failure. */
extern int getrusage (__rusage_who_t __who, struct rusage *__usage) __THROW;

参数: 

who:可能选择有

  RUSAGE_SELF:获取当前进程的资源使用信息。

  RUSAGE_CHILDREN:获取子进程的资源使用信息。

usage:指向存放资源使用信息的结构指针

#include <bits/resources.>

/* Structure which says how much of each resource has been used. */
struct rusage
{
 /* Total amount of user time used. */
 struct timeval ru_utime;
 /* Total amount of system time used. */
 struct timeval ru_stime;
 /* Maximum resident set size (in kilobytes). */
 long int ru_maxrss;
 /* Amount of sharing of text segment memory
 with other processes (kilobyte-seconds). */
 long int ru_ixrss;
 /* Amount of data segment memory used (kilobyte-seconds). */
 long int ru_idrss;
 /* Amount of stack memory used (kilobyte-seconds). */
 long int ru_isrss;
 /* Number of soft page faults (i.e. those serviced by reclaiming
 a page from the list of pages awaiting reallocation. */
 long int ru_minflt;
 /* Number of hard page faults (i.e. those that required I/O). */
 long int ru_majflt;
 /* Number of times a process was swapped out of physical memory. */
 long int ru_nswap;
 /* Number of input operations via the file system. Note: This
 and `ru_oublock‘ do not include operations with the cache. */
 long int ru_inblock;
 /* Number of output operations via the file system. */
 long int ru_oublock;
 /* Number of IPC messages sent. */
 long int ru_msgsnd;
 /* Number of IPC messages received. */
 long int ru_msgrcv;
 /* Number of signals delivered. */
long int ru_nsignals;
/* Number of voluntary context switches, i.e. because the process
gave up the process before it had to (usually to wait for some
resource to be available). */
long int ru_nvcsw;
/* Number of involuntary context switches, i.e. a higher priority process

became runnable or the current process used up its time slice. */
 long int ru_nivcsw;
 };

linux下getrusage()

原文:http://www.cnblogs.com/xianzhedeyu/p/3516546.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!