使用 /dev/shm 有时会导致应用程序崩溃

使用 /dev/shm 有时会导致应用程序崩溃

有时我会使用/dev/shm最大 500MB 的临时文件(我有 8 GB RAM - Ubuntu 11.04 x86-64),当我加载星际争霸 II(使用 wine)时,我可能会得到记忆游戏中的错误(数据损坏或“无法加载坐标“)。

如果我使用恰当的我的文件的临时文件系统(例如安装在的 SSD 磁盘/disk3)我没有遇到任何问题。

这可能是因为/dev/shmSC2(或其他程序)需要一些可用内存时,内存不断被填满和清空,因此malloc失败(然后进程报告错误之前预计会有一些可用内存吗?

我对此确实感到困惑。

答案1

据我所知,GNU libc 有自己的语义/dev/shm/,作为用户(或本地管理员),您根本不应该自己使用它。

此外,在大多数发行版中它的大小都是有限制的。

是的,类似的东西Wine会使用大量的共享内存,这也会消耗掉/dev/shm

我建议将其安装tmpfs到其他地方(事实上,我建议使用/tmpas运行系统tmpfs并将其用于TMPDIR=/var/tmp需要更大暂存空间的东西)。

相关内容