Linux-Kernel
IPC 的 RAM 使用量是程序 RAM 使用量的一部分嗎
我正在學習如何在 Linux 中使用 Message Queue,並且找到了一個簡單的範例:https ://www.geeksforgeeks.org/ipc-using-message-queues/ 。
通過此連結中的閱讀器和編寫器,我可以通過 Ubuntu 上的消息隊列讀取和寫入消息。一切都很好。
好吧,如果我是對的,當我們將一些消息寫入消息隊列時,這些消息將儲存到核心中,這意味著核心將分配一些 RAM 來儲存它們。
假設我一直將許多消息寫入消息隊列,但從不使用它們。據我了解,將使用越來越多的 RAM。在這種情況下,我可以使用命令
top
或ps aux
監控 RAM 的使用量增加嗎?命令的行
VIRT
和RES
命令top
是關於 RAM 使用的,命令的行VSZ
和RSS
命令ps aux
也是關於 RAM 使用的。在上面的例子中,我能看到四個數字中的一些(、 和
VIRT
)RES
在增加嗎?或者不能向我們展示 MQ、FIFO、SHM、域套接字或其他 IPC 方式使用的核心的 RAM 使用情況?VSZ``RSS``top``pa aux
IPC 資源與給定程序無關,因此它們不會顯示在 等顯示的數據
top
中ps
。您可以在您所指的範例中看到這一點:消息隊列由編寫器創建,但被刪除讀者。要監控 IPC 資源,您可以使用
lsipc
:lsipc
將提供概述,並且
lsipc -q
將顯示消息隊列的詳細資訊。