我们可以使用shmget()和shmat()创建共享内存并将其附加到进程。如果我们不破坏和分离Ubuntu中的共享内存,会发生什么呢?根据我的理解,在系统重新启动之前,它仍将存在于物理内存中,但这是为什么呢?我的意思是,我们可以通过创建多个共享内存块来加载物理内存,这样可以有效地填充物理内存?
发布于 2023-03-21 00:12:34
从实现的角度来看,它与ramdisk中的文件系统没有太大区别,Linux就是这样实现它的。
如果在退出程序之前不删除创建的文件,该文件将继续存在并消耗资源。
很少使用SystemV SHM,唯一的原因是它保证映射将由匿名内存支持,而不会在更改时生成磁盘写入,并以可移植的方式这样做。
https://unix.stackexchange.com/questions/740408
复制相似问题