私たちは、エンジニアが開発したソフトウェアの特定のフレームワーク要件を満たすために、さまざまなシステムrealtime
(SCHED_FIFO
、)でいくつかのソフトウェアを実行することに優先順位を付けます。Priority: 99
私たちのサイドプロジェクトの1つは、同じリアルタイムパフォーマンスが「実際に」必要ではなく、リアルタイムで実行されている場合にのみ可能ないくつかの機能が必要です。 IEフレームドロップは重大な失敗条件ではありませんが、他のことが正しく発生するように試みてヒットする必要があります。混乱している混乱です。
それにもかかわらず、リアルタイムでソフトウェアを実行している間、システムを使用して他のクイックタスクも実行します。通常、ターミナルウィンドウを開く、高速プログラムを実行し、Ctrl+dターミナルを削除し、生活を続けます。これにより、アプリケーションのコピーが中断のないスリープ状態になり、時間の経過とともにシステムリソースが枯渇し、システムがロックされる可能性があります。ソフトウェアが停止したら、すべての休止状態プロセスをすぐに解決し、すべてのシャットダウンを完了します。
私の考えでは、これらのプロセスをクリーンアップするためにどのクリーンアッププロセスを実行しても、システムはリアルタイムの優先順位付けを実行できないということです。私は「これはライブシステムを使用する方法ではありません」ということを知っていますが、残念ながらそれは彼らが認めることを拒否する問題であり、私は単純な問題に対する魔法的な解決策を見つける必要があります(リアルタイムシステムを1つのツールとして使用しないでください)ステーション)。
だから私の質問は次のとおりです。クリーンアッププロセスが時々最大実行プロセスよりも優先されるように手動で強制する方法はありますか?
試してみようかと考えてみましたが、問題に対する非常に複雑な解決策のようで、時間をかけてよく使う方法とさまざまなカーネルタイミング統計をcgroups
学んでも実際に動作するかどうかはわかりません。cgroups