この記事では、php でのメモリ管理について紹介します。参考になる価値があります。困っている友人は参考にしてください。お役に立てれば幸いです。
1. PHP メモリ管理の概要 - Zend エンジン
コンピュータのメモリはオペレーティング システムによって管理されるため、通常のアプリケーションはメモリに直接アクセスできません。
アプリケーションはオペレーティング システムからのみメモリを申請できます。一般的なアプリケーションも同様に、必要に応じて malloc などのライブラリ関数を通じてオペレーティング システムからメモリを申請します。
高いパフォーマンス要件を必要とする一部のアプリケーション シナリオでは、Web サーバー、プログラミング言語など、メモリを頻繁に使用および解放する必要があります。オペレーティング システムからメモリ領域を申請するとシステム コールがトリガーされるため、システム コールシステムコールは CPU をユーザーモードからカーネルに切り替えますが、オペレーティングシステムだけが物理メモリを伴う操作を実行できるため、この切り替えのコストが非常に大きいため、通常のアプリケーション層関数呼び出しのパフォーマンスの違いは大きく異なります。カーネル モードとユーザー モードを頻繁に切り替えると、パフォーマンスの問題が発生する可能性があります。
パフォーマンス要件のある一部のアプリケーションでは、システムコールのオーバーヘッドを考慮して、通常、メモリ管理をユーザーモードで実行します。たとえば、少し大きめのメモリを初めて申請する場合、メモリは予約され、使用後に解放されたメモリはすぐにオペレーティング システムに返され、メモリは再利用できるため、複数のメモリ アプリケーションと解放によるパフォーマンスの消費が回避されます。
PHP はメモリを明示的に管理する必要はありません。これらのタスクは Zend エンジンによって管理されます。 PHP にはメモリ管理システムがあり、使用されなくなったメモリのゴミを自動的に解放します。
2. php でメモリ関連のパラメータと関数を表示および設定する
メモリ サイズの設定:
(1) 設定のmemory_limit = 32M## は php で変更できます。 .ini #(2) 環境で ini_set() 関数が無効になっていない場合は、次の関数を通じて設定できます: ini_set("memory_limit", "128M");
(2)memory_get_peak_usage() この関数の関数は、現在のスクリプトが占有しているピークメモリを現在の位置に戻し、現在のスクリプトのメモリ要件を取得することができます。
php ビデオ チュートリアル 列に注目してください。
以上がPHP でのメモリ管理の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。