我tmp
是/etc/fstab
这样配置的:
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 2
Run Code Online (Sandbox Code Playgroud)
问题是现在/tmp
仅限于机器内存的一半,当它达到该限制时,我会收到“设备上没有剩余空间”错误。
我想让它“无限”,即增长到磁盘的大小。
Ste*_*itt 14
我的印象是你对tmpfs
. 您可能会发现阅读有关该主题的内核文档很有用;我会在这里尝试为你澄清一些事情。
您问题的标题“tmpfs
不会溢出交换”似乎并未反映您问题的实际内容,但无论如何tmpfs
确实使用交换,尽管可以说它不会溢出交换。tmpfs
本质上是一个(虚拟)基于内存的文件系统;它的内容只存在于内存中,但由于它们是可交换的,内核可以在必要时将它们存储在交换中而不是物理内存中。尽管如此,tmpfs
文件系统不能大于可用的虚拟内存总量,即物理 RAM 和交换,如由指示free -h
。
默认情况下,tmpfs
文件系统的最大大小等于可用物理内存量的一半。您可以使用size
参数增加此值,但它也不能超过可用物理内存和交换区(尽管该限制在挂载时未强制执行)。一旦文件系统达到其最大大小(或者更确切地说,包含占用那么多空间的文件),它会报告它的空间不足,正如您所发现的。tmpfs
当空间不足时,它本身不支持在任何地方溢出。
如果您需要临时存储大文件的空间,您应该使用/var/tmp
而不是/tmp
. 你真的不想要一个非常大的tmpfs
文件系统,当它填满时这是灾难的秘诀(内核恢复内存的通常方法在tmpfs
.
(当然,如果你有很多 RAM,大的tmpfs
也可以工作。我运行一些系统,构建tmpfs
文件系统的大小为 RAM 的 75%,32GiB、64GiB 甚至更多。)
归档时间: |
|
查看次数: |
5600 次 |
最近记录: |