LinuxシステムのDalvik仮想マシンはAndroid向けに最適化処理を行うことができます。ヒープメモリの管理とリサイクルはシステムを最適化するための重要な手段です。この記事では、LinuxシステムにおけるDalvikヒープメモリの管理とリサイクルについて紹介します。
Androidシステムは
Androidシステムが起動した後、最初の受精卵のDalvik仮想マシンを作成するためのプロセスがあるでしょう、それが唯一のヒープを維持して開始します。後で起動されるすべてのアプリケーションプロセスはZygoteプロセスによって分岐され、どちらも独自のDalvik仮想マシンを保持します。アプリケーションの作成プロセスでは、Dalvik仮想マシンはCOWポリシーを使用してZygoteプロセスのアドレス空間をコピーします。
COW戦略:初め(Zygoteプロセスのアドレス空間がコピーされていないとき)、アプリケーションプロセスとZygoteプロセスは、オブジェクトの割り当てに使用されたのと同じヒープを共有します。 Zygoteプロセスまたはアプリケーションプロセスがヒープに書き込むと、カーネルは実際のコピー操作を実行し、Zygoteプロセスとアプリケーションプロセスに独自のコピーを作成させます。これをCOWと呼びます。コピーは非常に時間がかかるので、できるだけコピーやコピーを避けてください。
これを実現するために、最初のアプリケーションプロセスが作成されるときに、使用されていたヒープメモリの部分が一部に分割され、未使用のヒープメモリが別の部分に分割されます。前者はZygoteヒープと呼ばれ、後者はActiveヒープと呼ばれます。これは、zygoteヒープの内容をアプリケーションプロセスに単にコピーするだけです。将来的には、それがZygoteプロセスであろうとアプリケーションプロセスであろうと、オブジェクトを割り当てる必要があるとき、それらはすべてActiveヒープ上にあります。これにより、Zygoteヒープへの書き込みをできるだけ少なくすることができるため、コピーオンライト操作を実行する必要性が少なくなります。 Zygoteヒープに割り当てられるオブジェクトは、主にZygoteプロセスが起動時にプリロードするクラス、リソース、およびオブジェクトです。つまり、これらのプリロードされたクラス、リソース、およびオブジェクトは、Zygoteプロセスとアプリケーションプロセスで長期間共有できます。これにより、コピーが減り、メモリ要件が減ります。
JVMと同様に、Dalvik仮想マシンもヒープメモリ内のオブジェクトの管理を担当する必要があり、マークアップクリーンアップアルゴリズムを使用しますが、詳細は少し異なります。前のページ12次のページ合計2ページ
Linuxシステムでは、経路転送とは信号があるサイトから別のサイトに転送されるプロトコルのことですが、転送される信号と転送されない信号があるため、複雑なネットワークの
img /isoファイルはイメージファイルですが、Linuxシステムでイメージファイルを作成する必要がある場合があります。以下の小シリーズでは、Linuxで起動可能なimg /isoファイルを作成する
Linuxシステムの動作、さまざまな理由により、実行中に一部のプログラムが切断されます。Linuxではnohupコマンドを使用する必要があります。このコマンドを使用してください。プログラムをバックグラ
LinuxでのDmidecodeコマンドの主な機能は、メモリ、CPU、マザーボード、システムなどのハードウェアに関する情報を取得することです。 Dmidecodeコマンドをお持ちでない場合は、コンピュ