共享内存如何工作

共享内存如何工作

我不太明白共享内存和系统中其余内存之间有什么区别。

例如,如果我有 8GB 内存(包括交换和 RAM),而 /dev/shm 上有 4GB。/dev/shm 是否会保留这部分内存,并且不允许应用程序在需要时获取其中的一部分(如果它们需要普通内存,则不需要共享内存)?我的问题可能有点令人困惑,因为我对这个问题不太了解。

提前致谢,

答案1

您可以使用此命令:

mount | grep -F /dev/shm

了解/dev/shm使用tmpfs文件系统:

[…] 与 ramfs 不同,它支持将不常用的页面交换到交换空间,以及文件系统大小和 inode 限制,以防止内存不足的情况(默认为物理 RAM 的一半和 RAM 页面数量的一半)。

ramfs是一个类似的函数,但它对内存使用没有任何限制,也不会跟踪内存使用情况,因此使用时应非常小心。

相关内容