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 サイトの他の関連記事を参照してください。