如何用物理卷扩展tmpfs?

如何用物理卷扩展tmpfs?

我使用 2G 的tmpfsfor /tmpdir 来提高 java 单元测试的性能:它们在/tmp.
这是/etc/fstab文件中的我的 tmp 部分:

tmpfs /tmp tmpfs rw,noatime,size=2G,nodev,mode=1777,noexec,nosuid,rootcontext=system_u:object_r:tmp_t 0 0

几乎总是工作正常,但有时我需要 2G 以上的磁盘空间/tmp。当某些应用程序下载更新时通常会发生这种情况。在这种情况下,性能对我来说并不重要,因此我想将其写入物理卷或环回文件。

tmpfs如果/tmp目录大小​​小于 2G,是否可以使用并在需要时使用其他文件系统进行扩展?

答案1

如果你只是需要改变临时文件系统尺寸,您可以在线重新安装新尺寸:

mount -o remount,size=<new size> /tmp

另外,系统上要有足够大的交换空间。当可用的空闲 RAM 较低时,内存(包括 tmpfs)将被分页到交换区。

交换不会减慢您的系统速度,内核首先交换最少使用和缓存的内容,并且可以通过vm.swappiness参数调整平衡。有关 的详细解释vm.swappiness,请参阅为什么 swappiness 默认设置为 60?。如果系统由于活动页面被交换而开始变慢,则原因不是交换;原因是您的系统内存不足。

您可以通过创建交换文件来增加总交换空间(注意:您不能将交换文件放置在BTFS文件系统)。创建并分配一个新文件,dd并将其设置为交换区域mkswap。确保交换文件不是世界可读的,您不想泄漏内存内容。

dd if=/dev/zero of=<swap file> bs=1M count=<size>
chmod 600 <swap file>
mkswap <swap file>

并启用它:

swapon <swap file>

您还可以将交换文件添加到系统表使其自动可用。

相关内容