ホームページ  >  記事  >  バックエンド開発  >  PHP でのメモリ管理の概要

PHP でのメモリ管理の概要

不言
不言転載
2019-03-27 09:43:562825ブラウズ

この記事では、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");

メモリの状態を確認します:

(1)memory_get_usage()、この関数の機能は、PHP スクリプトによって現在使用されているメモリ サイズを取得することです。

(2)memory_get_peak_usage() この関数の関数は、現在のスクリプトが占有しているピークメモリを現在の位置に戻し、現在のスクリプトのメモリ要件を取得することができます。

この記事はここで終了しました。その他のエキサイティングなコンテンツについては、PHP 中国語 Web サイトの

php ビデオ チュートリアル 列に注目してください。

以上がPHP でのメモリ管理の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。