メモリ使用量の高いデバイスで実行される一部のプロセスに優先順位を付けたいとします。これらのプロセスはUIプロセス(特にAndroid)であり、この状態では非常に遅く実行されます。私のプロセスを見つけるためにgrepするとき
ps -eo min_flt,maj_flt,cmd
私のデフォルトのページエラーが非常に高いことがわかります(新しいAndroidアクティビティを開くなどのUI操作の場合は何千もの)。
プロセスを低い優先順位(高い優先順位)に調整すると、深刻なページエラーが少なくなると予想できますか?優先順位を上げると、より多くのCPUリソースが提供されますが、ボトルネックがメモリ不足/ページエラーの場合、プロセスが高速化されるかどうかはわかりません。
ベストアンサー1
優先順位を上げると、より多くのCPUリソースが提供されますが、ボトルネックがメモリ不足/ページエラーの場合、プロセスが高速化されるかどうかはわかりません。
しないでしょう。このnice
レベルはスケジューラにのみ影響します。
root権限を使用すると、mlockall(MCL_CURRENT|MCL_FUTURE)
マップされたページをRAMにロックできます。 Linuxで。 Androidにそのような機能があるかどうかはわかりません。
しばらく前に、単純なラッパーを作成して実行可能ファイルを実行できるようにmlockall
状態を継承できるパッチがありました。exec
mlockall
https://lwn.net/Articles/308552/残念ながら、パッチはメインラインLinuxには適用されないため、codezを編集する必要がある場合、またはスクリプト言語ソルバーの場合はこれを行う方法を見つける必要がありますmlockall
。