Sponsored Content
Full Discussion: getrusage()
Operating Systems HP-UX getrusage() Post 302122772 by limame on Thursday 21st of June 2007 10:04:04 AM
Old 06-21-2007
Thank you
I tested this code but I can't understand why the user time and the system time are the same before and after execution.

-------------before
/* user time used */ 0 10000
/* system time used */ 0 10000
/* integral shared memory size */ 0
/* integral unshared data */ 0
/* integral unshared stack */ 0
/* page reclaims */ 149
/* page faults */ 1
/* swaps */ 0
/* block input operations */ 0
/* block output operations */ 0
/* # of characters read/written */ 1676
/* messages sent */ 0
/* messages received */ 0
/* signals received */ 0
/* voluntary context switches */ 1
/* involuntary */ 14


-------------after we run foo1
/* user time used */ 0 10000
/* system time used */ 0 10000
/* integral shared memory size */ 0
/* integral unshared data */ 0
/* integral unshared stack */ 0
/* page reclaims */ 149
/* page faults */ 2
/* swaps */ 0
/* block input operations */ 0
/* block output operations */ 0
/* # of characters read/written */ 2500
/* messages sent */ 0
/* messages received */ 0
/* signals received */ 0
/* voluntary context switches */ 2
/* involuntary */ 14

Normally I must calculate the difference between the two statistics to obtain statistics of my program execution. So I will obtain 0 for the user time and system time ???
 

We Also Found This Discussion For You

1. Programming

fork-getrusage

Hello everybody! I wrote the following code: ... int main() { pid_t pid; for (int i=0;i<100;i++) { pid=fork(); if(pid==0) {execl("md5sum","myprog",NULL);exit(1)} else if(pid>0) { waitpid(pid,&status,0);getrusage(RUSAGE_CHILDREN,&usage);} The... (3 Replies)
Discussion started by: nicos
3 Replies
getrusage(2)							System Calls Manual						      getrusage(2)

NAME
getrusage, vtimes - Gets information about resource utilization LIBRARY
Berkeley Compatibility Library (libbsd.a): vtimes() only SYNOPSIS
#include <sys/resource.h> int getrusage( int who, struct rusage *r_usage); [Tru64 UNIX] The following function declaration does not conform to current standards and is supported only for backward compatibility: #include <sys/vtimes.h> vtimes( struct vtimes *par_vm, struct vtimes ch_vm); [Tru64 UNIX] Application developers using the getrusage() function may want to specify an #include statement for <sys/time.h> before the one for <sys/resource.h> if programs are being developed for multiple platforms. The additional #include statement is not required on Tru64 UNIX systems or by ISO or X/Open standards, but may be required on other vendors' systems that conform to these standards. STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: getrusage(): XSH5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags. PARAMETERS
Specifies one of the following: Retrieve information about resources used by the current process. Retrieve information about resources used by terminated and waited for child processes of the current process. Points to a buffer that will be filled in as described in the <sys/resource.h>. DESCRIPTION
The getrusage() function returns information describing the resources used by the current process or its terminated or waited for child processes. If the child process is never waited for, for example if the parent has set SA_NOCLDWAIT or has SET SIGCHLD to SIG_IGN, the resource information for that child process is discarded. NOTES
The numbers the ru_inblock and ru_outblock fields of the rusage structure account only for real I/O; data supplied by the caching mechanism is charged only to the first process to read or write the data. [Tru64 UNIX] The vtimes() function returns accounting information for the current process and for the terminated child processes of the current process. Either par_vm or ch_vm or both may be zero, in which case only the information for the pointers which are nonzero are returned. After the call, each buffer contains information as defined by the contents of the sys/vtimes.h include file. RETURN VALUES
Upon successful completion, the getrusage(), function returns 0 (zero). Otherwise, the function returns -1 and sets errno to indicate the error. ERRORS
The getrusage() function sets errno to the specified values for the following conditions: The who parameter is not a valid value. [Tru64 UNIX] The address specified for r_usage is not valid. RELATED INFORMATION
Functions: wait(2) Routines: gettimer(3), time(3), times(3) Standards: standards(5) delim off getrusage(2)
All times are GMT -4. The time now is 11:26 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy