1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
|
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.getrusage" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>getrusage</refname>
<refpurpose>Gets the current resource usages</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>array</type><type>false</type></type><methodname>getrusage</methodname>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
<para>
This is an interface to <command>getrusage(2)</command>. It gets data returned
from the system call.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>mode</parameter></term>
<listitem>
<para>
If <parameter>mode</parameter> is 1, getrusage will be called with
<constant>RUSAGE_CHILDREN</constant>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns an associative array containing the data returned from the system
call. All entries are accessible by using their documented field names.
Returns &false; on failure.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>7.0.0</entry>
<entry>
This function is now supported on Windows.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>getrusage</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$dat = getrusage();
echo $dat["ru_oublock"]; // number of block output operations
echo $dat["ru_inblock"]; // number of block input operations
echo $dat["ru_msgsnd"]; // number of IPC messages sent
echo $dat["ru_msgrcv"]; // number of IPC messages received
echo $dat["ru_maxrss"]; // maximum resident set size
echo $dat["ru_ixrss"]; // integral shared memory size
echo $dat["ru_idrss"]; // integral unshared data size
echo $dat["ru_minflt"]; // number of page reclaims (soft page faults)
echo $dat["ru_majflt"]; // number of page faults (hard page faults)
echo $dat["ru_nsignals"]; // number of signals received
echo $dat["ru_nvcsw"]; // number of voluntary context switches
echo $dat["ru_nivcsw"]; // number of involuntary context switches
echo $dat["ru_nswap"]; // number of swaps
echo $dat["ru_utime.tv_usec"]; // user time used (microseconds)
echo $dat["ru_utime.tv_sec"]; // user time used (seconds)
echo $dat["ru_stime.tv_usec"]; // system time used (microseconds)
echo $dat["ru_stime.tv_sec"]; // system time used (seconds)
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
On Windows <function>getrusage</function> will only return the following
members:
</para>
<para>
<simplelist>
<member><literal>"ru_stime.tv_sec"</literal></member>
<member><literal>"ru_stime.tv_usec"</literal></member>
<member><literal>"ru_utime.tv_sec"</literal></member>
<member><literal>"ru_utime.tv_usec"</literal></member>
<member>
<literal>"ru_majflt"</literal> (only if <parameter>mode</parameter> is
<constant>RUSAGE_SELF</constant>)
</member>
<member>
<literal>"ru_maxrss"</literal> (only if <parameter>mode</parameter> is
<constant>RUSAGE_SELF</constant>)
</member>
</simplelist>
</para>
<para>
If <function>getrusage</function> is called with <parameter>mode</parameter>
set to <literal>1</literal> (<constant>RUSAGE_CHILDREN</constant>), then
resource usage for threads are collected (meaning that internally the function
is called with <constant>RUSAGE_THREAD</constant>).
</para>
</note>
<note>
<para>
on BeOS 2000, only the following members are returned:
</para>
<para>
<simplelist>
<member><literal>"ru_stime.tv_sec"</literal></member>
<member><literal>"ru_stime.tv_usec"</literal></member>
<member><literal>"ru_utime.tv_sec"</literal></member>
<member><literal>"ru_utime.tv_usec"</literal></member>
</simplelist>
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member>Your system's man page on <command>getrusage(2)</command></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
|