Answers:
什么设置了tmpfs的大小?(在我的机器上,它位于/ dev / shm中)我可以在/ etc / fstab中看到它的条目,但是没有关于它的大小的表示法。
该内核文档涵盖此安装选项下面:
size:为此tmpfs实例分配的字节数限制。默认值是不交换的物理RAM的一半。如果您的tmpfs实例过大,则计算机将死锁
(强调我的)
另外,如果装满了怎么办?
如上所述,如果您对tmpfs的投入过多,则计算机将死锁。否则(如果刚达到其硬限制),它将像其他任何文件系统一样返回ENOSPC。
最后,什么优先处理内存tmpfs或应用程序?即,如果我的tmpfs足够满(例如40%的物理内存),并且我的程序需要70%的物理内存,哪一个优先?
这类似于程序之间的争用。使用最频繁的页面将倾向于在物理内存中,而使用最少的页面将倾向于被换出。
如果您需要确保页面始终位于物理内存中,则可以使用ramfs,该内存类似但大小固定且不会交换。