| Extracted from Pike v7.8 release 866 at 2016-04-05.

[Top]
System

# Method System.getrusage()

Method getrusage

  `mapping(string:int) getrusage()`

Description

  Return resource usage about the current process. An error is thrown if it isn't supported or if the system fails to return any information.

Returns

  Returns a mapping describing the current resource usage:

  `"utime" : int` | Time in milliseconds spent in user code.
  `"stime" : int` | Time in milliseconds spent in system calls.
  `"maxrss" : int` | Maximum used resident size in kilobytes. [1]
  `"ixrss" : int` | Quote from GNU libc: An integral value expressed in kilobytes times ticks of execution, which indicates the amount of memory used by text that was shared with other processes. [1]
  `"idrss" : int` | Quote from GNU libc: An integral value expressed the same way, which is the amount of unshared memory used for data. [1]
  `"isrss" : int` | Quote from GNU libc: An integral value expressed the same way, which is the amount of unshared memory used for stack space. [1]
  `"minflt" : int` | Minor page faults, i.e. TLB misses which required no disk I/O.
  `"majflt" : int` | Major page faults, i.e. paging with disk I/O required.
  `"nswap" : int` | Number of times the process has been swapped out entirely.
  `"inblock" : int` | Number of block input operations.
  `"oublock" : int` | Number of block output operations.
  `"msgsnd" : int` | Number of IPC messsages sent.
  `"msgrcv" : int` | Number of IPC messsages received.
  `"nsignals" : int` | Number of signals received.
  `"nvcsw" : int` | Number of voluntary context switches (usually to wait for some service).
  `"nivcsw" : int` | Number of preemptions, i.e. context switches due to expired time slices, or when processes with higher priority were scheduled.
  `"sysc" : int` | Number of system calls. [2]
  `"ioch" : int` | Number of characters read and written. [2]
  `"rtime" : int` | Elapsed real time (ms). [2]
  `"ttime" : int` | Elapsed system trap (system call) time (ms). [2]
  `"tftime" : int` | Text page fault sleep time (ms). [2]
  `"dftime" : int` | Data page fault sleep time (ms). [2]
  `"kftime" : int` | Kernel page fault sleep time (ms). [2]
  `"ltime" : int` | User lock wait sleep time (ms). [2]
  `"slptime" : int` | Other sleep time (ms). [2]
  `"wtime" : int` | Wait CPU (latency) time (ms). [2]
  `"stoptime" : int` | Time spent in stopped (suspended) state. [2]
  `"brksize" : int` | Heap size. [3]
  `"stksize" : int` | Stack size. [3]

Note

  [1] Not if /proc rusage is used.

  [2] Only from (Solaris?) /proc rusage.

  [3] Only from /proc PRS usage.

  On some systems, only utime will be filled in.

See also

  gethrvtime()