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

在上面的例子中,我可以看到四个数字(VIRTRES和)中的一些数字正在增加吗VSZRSS或者top无法pa aux向我们显示内核的 RAM 使用情况,即 MQ、FIFO、SHM、域套接字或其他 IPC 方式使用的 RAM 使用情况?

答案1

IPC 资源不与给定进程绑定,因此它们不会显示在 等显示的数据中topps您可以在您引用的示例中看到这一点:消息队列由编写者创建,但由编写者删除读者。

要监控IPC资源,您可以使用lsipc

lsipc

将提供概述,并且

lsipc -q

将显示消息队列的详细信息。

相关内容