Linux-Kernel

IPC 的 RAM 使用量是程序 RAM 使用量的一部分嗎

  • December 11, 2020

我正在學習如何在 Linux 中使用 Message Queue,並且找到了一個簡單的範例:https ://www.geeksforgeeks.org/ipc-using-message-queues/ 。

通過此連結中的閱讀器和編寫器,我可以通過 Ubuntu 上的消息隊列讀取和寫入消息。一切都很好。

好吧,如果我是對的,當我們將一些消息寫入消息隊列時,這些消息將儲存到核心中,這意味著核心將分配一些 RAM 來儲存它們。

假設我一直將許多消息寫入消息隊列,但從不使用它們。據我了解,將使用越來越多的 RAM。在這種情況下,我可以使用命令topps aux監控 RAM 的使用量增加嗎?

命令的行VIRTRES命令top是關於 RAM 使用的,命令的行VSZRSS命令ps aux也是關於 RAM 使用的。

在上面的例子中,我能看到四個數字中的一些(、 和VIRTRES在增加嗎?或者不能向我們展示 MQ、FIFO、SHM、域套接字或其他 IPC 方式使用的核心的 RAM 使用情況?VSZ``RSS``top``pa aux

IPC 資源與給定程序無關,因此它們不會顯示在 等顯示的數據topps。您可以在您所指的範例中看到這一點:消息隊列由編寫器創建,但被刪除讀者。

要監控 IPC 資源,您可以使用lsipc

lsipc

將提供概述,並且

lsipc -q

將顯示消息隊列的詳細資訊。

引用自:https://unix.stackexchange.com/questions/623946