系统如何处理大量共享内存?

How does the system handle huge amounts of shared memory?

我的系统有大约 64G 的 RAM 和大约 24G 的交换空间 space。我不小心在我的程序中分配了大量共享内存,令我惊讶的是它起作用了。这是 /dev/shm 中的文件:

-rw-r--r-- 1 user user  191G Aug  7 10:06 myShm

当我的 RAM 和交换区加起来只是其中的一小部分时,系统如何管理 191GB 的共享内存?

您的系统正在分配虚拟内存而不是物理内存。当您 touch/use 特定内存时,它将被分配。通常所有 OS 都足够聪明 "over commit" 记忆。