2017-09-28 11 views
2

Android LMKLinux OOMに基づいていますが、なぜGoogleでは新しいアルゴリズム(LMK)を開発すべきですか? LMKはオリジナルのOOMより優れていますか?それとも、他の技術的な理由がありますか?Android LMKとLinuxの相違点OOM

答えて

1

システムがメモリ不足になる前に、両方のアプリケーションが同じ役割、空きメモリ(アプリケーションを強制終了する)を持っていると考えるのは正しいです。 しかし、OOMアルゴリズムとLMKアルゴリズムには微妙な違いがあり、どちらのアプリケーションを終了するかは決まります。

LMKは、優先順位のバックグラウンドアプリケーション、隠されたアプリケーションまたは一時停止中のアプリケーション(実行されているかを知るためにアンドロイドのActivityManagerに接続されており、誰がではありません)に殺すためにしようとします。こうすることで、ユーザーは現在のアプリケーションを引き続き使用し、他のアプリケーションを終了させることができます。 LMKの最優先事項は、ユーザーがスムーズにアプリケーションを使用できるようにすることです。第2に、LMKは一般的にシステムアプリケーションを殺すのを避け、ユーザーアプリケーションを優先してシステムを稼働させることになります。

OOMは、このアプリケーションが現在ユーザーによって使用されているという心配なしに、ほとんどのメモリを使用する優先度の高いアプリケーションを強制終了しようとしますが、OOMはシステム全体を "安全"に保ち、よく(ユーザー?誰が気に?)))。しかし、システムにとって有用だったいくつかのシステムデーモンを殺すことを決めることができますが、最大の "メモリ摂取"でした。 OOMキラーアルゴリズムは非常に複雑な経験則に基づいて計算されるように使用され、現在はほとんどが消費されるメモリの割合に基づいているoom_scoreに基づいています。

+0

WOW!ありがとう!答えはたくさんあります! –

関連する問題