そのブロックでのみ機能するためにメモリブロックを割り当てる必要があるカーネルサブシステムが開発されました。このメモリは物理的に連続している必要があり、ブロックデバイスのようにアクセスする必要があります(/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)。
RAMディスクを作成しないと、Linuxシステムは明示的なRAMディスクを使用するよりも優れたパフォーマンスを発揮すると思います(またはそうするように構成できます)。
正確なコマンドと問題を処理するいくつかのコードを表示しないと、役に立ちません。