RAMディスクに関する問題

RAMディスクに関する問題

そのブロックでのみ機能するためにメモリブロックを割り当てる必要があるカーネルサブシステムが開発されました。このメモリは物理的に連続している必要があり、ブロックデバイスのようにアクセスする必要があります(/dev/..を意味します)。

どんな提案がありますか?
RAMディスクと起動時にメモリ予約の中で何をお勧めしますか?

答え1

おそらく何も作ってはいけません。メモリディスク(つまり、tmpfs未使用ramfs)、参照これ。 LinuxはあなたよりもRAMをよりよく管理できます。ページキャッシュとても良い(おそらく必要ないかもしれません)作る「RAM」ディスクの場合は、tmpfsマウントされたディスクを使用し、/tmpそこにファイルを挿入します。ファイルシステム内のすべてのファイルも同じです。 RAMが多い場合、データは通常ページキャッシュに保持され、物理ディスクIOは関連しない。しかし見てください同期(2)。バラよりLinuxatemyramそして私の答えあなたのため前(混乱)の質問

Linuxでは、「特定のプロセスへのRAMディスクの割り当て」は不可能です。ユースケースを説明する必要があります。 RAMディスクは通常tmpfsファイルシステム(または廃止されたramfsファイルシステム)なので、単一プロセスではなくファイルシステムに割り当てます。

おそらく、Linuxを使用して他のほとんどのプロセスを調整できます。たとえば、ulimitシェル組み込みコマンドを使用します(基準:制限設定(2)システムコール)

このRAMディスクが上記のプロセスでのみ使用され、そのデータが他のプロセスによって変更されないことをどのように確認できますか?

カーネルはtmpfsファイルシステムを保証する必要があります(他のファイルシステムが保証されているかのように)。ファイルシステム)。そのファイルシステムのファイルにアクセスするプロセスだけが、そのファイルシステムのデータを変更できます。

サポートする特定のプロセスのプログラムコードを変更できる場合は、次を使用します。時計ロック(2)

また、見ることができますイオン(1)&悪くない(1)

RAMディスクを作成しないと、Linuxシステムは明示的なRAMディスクを使用するよりも優れたパフォーマンスを発揮すると思います(またはそうするように構成できます)。

正確なコマンドと問題を処理するいくつかのコードを表示しないと、役に立ちません。

関連情報