IPCのRAM使用量はプログラムのRAM使用量に含まれていますか?

IPCのRAM使用量はプログラムのRAM使用量に含まれていますか?

Linuxでメッセージキューを使用する方法を学んでいますが、次の簡単な例を見つけました。https://www.geeksforgeeks.org/ipc-using-message-queues/

このリンクの読者と作成者を使用すると、Ubuntuのメッセージキューを介してメッセージを読み書きできます。すべてが大丈夫です。

さて、私が正しい場合、メッセージキューにいくつかのメッセージを書き込むと、このメッセージはカーネルに保存されます。これは、カーネルがメッセージを格納するためにいくつかのRAMを割り当てるという意味です。

メッセージキューに常に多くのメッセージを記録しますが、決して使用しないとしましょう。私が理解したように、ますます多くのメモリが使用されています。この場合、コマンドを使用するtopps aux、RAM使用量の増加を監視できますか?

コマンドVIRTの合計と行はRAM使用量に関連し、コマンドの合計と行もRAM使用量に関連しています。REStopVSZRSSps aux

上記の例では、4つの数字(VIRT、および)RESのうちのいくつかが増加しているのがわかりますかVSZRSSまたは、カーネルのRAM使用量、つまりMQ、FIFO、SHM、ドメインソケット、またはその他のIPC手段で使用されているRAM使用量を表示topできませんか?pa aux

答え1

IPCリソースは特定のプロセスにバインドされていないため、表示されたデータには表示されませんtopps引用した例ではこれを見ることができます。メッセージキューは作成者によって生成されますが、リーダーは作成者によって削除されます。

IPCリソースを監視するには、次のものを使用できますlsipc

lsipc

概要が提供され、

lsipc -q

メッセージキューの詳細が表示されます。

関連情報