<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 本文無關的程序部分</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"歡迎閱讀 PHP 技術文章。\n"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
<h1></span><span><span class="hljs-title function_ invoke__">getrusage</span></span><span>() 返回的數據單位解析</h1>
<p>在 PHP 中,<code></span><span><span class="hljs-title function_ invoke__">getrusage</span></span><span>()
這段代碼將輸出類似如下的內容(不同系統可能略有差異):
</span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
[ru_utime.tv_sec] => </span><span><span class="hljs-number">0</span></span><span>
[ru_utime.tv_usec] => </span><span><span class="hljs-number">123456</span></span><span>
[ru_stime.tv_sec] => </span><span><span class="hljs-number">0</span></span><span>
[ru_stime.tv_usec] => </span><span><span class="hljs-number">7890</span></span><span>
[ru_maxrss] => </span><span><span class="hljs-number">34560</span></span><span>
...
)
假設我們想獲取總的用戶態CPU 時間,可以這樣寫:
</span><span><span class="hljs-variable">$usage</span></span><span> = </span><span><span class="hljs-title function_ invoke__">getrusage</span></span><span>();
</span><span><span class="hljs-variable">$user_time</span></span><span> = </span><span><span class="hljs-variable">$usage</span></span><span>[</span><span><span class="hljs-string">"ru_utime.tv_sec"</span></span><span>] + </span><span><span class="hljs-variable">$usage</span></span><span>[</span><span><span class="hljs-string">"ru_utime.tv_usec"</span></span><span>] / </span><span><span class="hljs-number">1e6</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"用戶態耗時: <span class="hljs-subst">{$user_time}</span></span></span><span> 秒\n";
類似地,可對內核態時間執行相同操作,從而獲得進程CPU 使用總時間。
getrusage()是PHP 提供的一個深入了解腳本資源消耗情況的重要工具。理解其返回值的含義和單位,有助於開發者進行更細緻的性能調優與監控。