ホームページ  >  記事  >  バックエンド開発  >  PHPでメモリやCPUの使用率を確認する方法を詳しく解説

PHPでメモリやCPUの使用率を確認する方法を詳しく解説

伊谢尔伦
伊谢尔伦オリジナル
2017-06-29 13:13:234971ブラウズ

1. メモリ使用量を表示する

プログラムのメモリ使用量を観察すると、コードをより適切に最適化できます。
PHP には、ガベージ コレクション メカニズムと非常に複雑なメモリ管理メカニズムがあります。スクリプトが使用しているメモリの量を確認できます。現在のメモリ使用量を知るには、memory_get_usage() 関数を使用できます。ピーク時のメモリ使用量を知りたい場合は、memory_get_peak_usage() 関数を呼び出すことができます。

echo "Initial: ".memory_get_usage()." bytes \n";
/* 输出
Initial: 361400 bytes
*/
// 使用内存
for ($i = 0; $i < 100000; $i++) {
$array []= md5($i);
}
// 删除一半的内存
for ($i = 0; $i < 100000; $i++) {
unset($array[$i]);
}
echo "Final: ".memory_get_usage()." bytes \n";
/* prints
Final: 885912 bytes
*/
echo "Peak: ".memory_get_peak_usage()." bytes \n";
/* 输出峰值
Peak: 13687072 bytes
*/

2. CPU 使用率を確認します
?getrusage() 関数を使用して CPU 使用率を確認します。この機能は Windows では使用できないことに注意してください。

print_r(getrusage());
/* 输出
Array
(
[ru_oublock] => 0
[ru_inblock] => 0
[ru_msgsnd] => 2
[ru_msgrcv] => 3
[ru_maxrss] => 12692
[ru_ixrss] => 764
[ru_idrss] => 3864
[ru_minflt] => 94
[ru_majflt] => 0
[ru_nsignals] => 1
[ru_nvcsw] => 67
[ru_nivcsw] => 4
[ru_nswap] => 0
[ru_utime.tv_usec] => 0
[ru_utime.tv_sec] => 0
[ru_stime.tv_usec] => 6269
[ru_stime.tv_sec] => 0
)
*/

CPU についてよく知らない限り、この構造は非常にわかりにくいように思えます。以下にいくつかの説明を示します:

ru_oublock: ブロック出力操作
ru_inblock: ブロック入力操作
ru_msgsnd: 送信メッセージ
ru_msgrcv: 受信メッセージ
ru_maxrss: 最大常駐セット サイズ
ru_ixrss: 合計共有メモリ サイズ
ru_idrss: すべての非共有メモリサイズ
ru_minflt: ページのリサイクル
ru_majflt: ページの無効化
ru_nsignals: 受信信号
ru_nvcsw: アクティブなコンテキスト スイッチ
ru_nivcsw: パッシブ コンテキスト スイッチ
ru_nswap: スワップ領域
ru_utime.tv_usec: ユーザー モード時間 (マイクロ秒)
ru_utime.tv _sec: ユーザーモード時間(秒)
ru_stime.tv_usec: システムカーネル時間(マイクロ秒)
ru_stime.tv_sec: システムカーネル時間(秒)

以上がPHPでメモリやCPUの使用率を確認する方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。