getrusage(2) System Calls Manual getrusage(2) getrusage - (libc -lc) #include int getrusage(int who, struct rusage *usage); getrusage() who : RUSAGE_SELF . RUSAGE_CHILDREN . . RUSAGE_THREAD ( Linux 2.6.26) . _GNU_SOURCE ( ) . usage : struct rusage { struct timeval ru_utime; /* user CPU time used */ struct timeval ru_stime; /* system CPU time used */ long ru_maxrss; /* maximum resident set size */ long ru_ixrss; /* integral shared memory size */ long ru_idrss; /* integral unshared data size */ long ru_isrss; /* integral unshared stack size */ long ru_minflt; /* page reclaims (soft page faults) */ long ru_majflt; /* page faults (hard page faults) */ long ru_nswap; /* swaps */ long ru_inblock; /* block input operations */ long ru_oublock; /* block output operations */ long ru_msgsnd; /* IPC messages sent */ long ru_msgrcv; /* IPC messages received */ long ru_nsignals; /* signals received */ long ru_nvcsw; /* voluntary context switches */ long ru_nivcsw; /* involuntary context switches */ }; . ( Linux.) : ru_utime timeval ( ). ru_stime timeval ( ). ru_maxrss ( Linux 2.6.32) ( KiB). RUSAGE_CHILDREN . ru_ixrss ( ) Linux. ru_idrss ( ) Linux. ru_isrss ( ) Linux. ru_minflt / / "" . ru_majflt /. ru_nswap ( ) Linux. ru_inblock ( Linux 2.6.22) . ru_oublock ( 2.6.22) . ru_msgsnd ( ) Linux. ru_msgrcv ( ) Linux. ru_nsignals ( ) Linux. ru_nvcsw ( 2.6) ( ). ru_nivcsw ( 2.6) . . -1 errno . EFAULT usage . EINVAL who . attributes(7). +------------+------------------------------------+--------------------+ || | | +------------+------------------------------------+--------------------+ |getrusage() | | MT-Safe | +------------+------------------------------------+--------------------+ POSIX.1-2024. POSIX.1 getrusage() ru_utime ru_stime. RUSAGE_THREAD . 4.3BSD, SVr4, SUSv1, POSIX.1-2001 XSI. 2.6.9 SIGCHLD SIG_IGN RUSAGE_CHILDREN POSIX.1-2001 . 2.6.9 . 4.3BSD Reno. vtimes() getrusage(). glibc ( 2.32) vtimes(). getrusage(). ( 2.33 glibc vtimes().) execve(2). clock_gettime(2), getrlimit(2), times(2), wait(2), wait4(2), clock(3), proc_pid_stat(5), proc_pid_io(5) 3 . . : . 6.18 8 2026 getrusage(2)