できるだけリアルタイムで処理を実行する必要があります。Linuxでマイナーページフォールトをリアルタイムで処理するのを防ぐ
すべての通信は、共有メモリ - メモリマップファイル - システムコールなしで実行されます - 共有メモリでビジー状態の待機を使用します。
このプロセスはリアルタイム優先度で実行され、すべてのメモリはmlockall(MCL_CURRENT|MCL_FUTURE)
でロックされ、処理は成功し、すべてのメモリがロックされます。ulimits
私はそれを実行するときperf stat -p PID
私はまだマイナーページフォールトのカウントを取得します。
私はこれを、プロセス親和性と非依存性の両方で試験しました。
質問:
それがすべてでそれらを排除することが可能です - でもマイナーなページフォールトを?
私は、TLBミスによって引き起こされるマイナーページフォールトについて語っています。 – Artyom
TLBミスは、ほとんどの最新のCPUでハードウェア処理されています。 OSには見えないはずです。いくつかのメモリアクセスを遅くし、ハードウェアパフォーマンス監視カウンタ(IntelのDTLB_LOAD_MISSES.ANY)をインクリメントするだけです。 – osgx
マイナーページフォールトを減らすにはどうすればよいですか?私はたくさんの記憶を持っていますが、CPU使用量をあまりにも多くの他のジョブを運ぶようにするマイナーページフォールトの問題がまだ残っています –