在已安装的系统上启用 tmpfs

在已安装的系统上启用 tmpfs

现在系统在 LUKS 上使用 LVM,只有 2 个 lvm 分区//home.

如果我现在想使用tmpfsfor/tmp/var/tmp,我可以只添加必要的更改/etc/fstab并且它可以在不破坏任何内容的情况下工作吗?或者这会导致任何问题吗?

tmpfs           /tmp            tmpfs           size=16G,noatime        0 0
tmpfs           /var/tmp        tmpfs           size=1G,noatime         0 0

答案1

是的,它应该可以工作 - 假设您有足够的 RAM 用于 16GiB ramdisk 和所有正在运行的应用程序!如果您总共只有 16GiB RAM,那么向 ramdisk 分配如此多的内存并没有意义,因为它可以将正在运行的应用程序(或其本身)部分推入交换空间,因为这会使您的系统速度减慢。

您可能不希望某些现有应用程序使用或尝试使用“隐藏在”安装点后面的临时文件,因此我会重新启动系统以激活此更改,而不是仅仅安装 /tmp 和 /正在运行的系统上的 var/tmp。

另外,如果那里已经有大量临时文件,您可以停止所有正在运行的服务(例如,通过进入单用户模式 ​​- 但如果您必须通过 ssh 连接到计算机,则这将不起作用),然后删除这内容/tmp 和 /var/tmp,在重新启动之前,回收一些磁盘空间和 inode。但不要删除目录本身,因为它们是挂载点并且必须存在。

答案2

现在一个系统使用LVM...

然后您应该遵循该系统的启动过程和安装指南/工具。对于 systemd ,规则是:

/tmp 应该是 tmpfs(速度快,并且文件在重启后无法保存)

/var/tmp 应保留在真实设备上(对于大文件,需要清空)

我发现这两个目录目前仅由 systemd 本身在我的系统上使用;还有更多的事情正在发生

/var/运行

它还安装了 tmpfs。我的 etc/fstab 中没有 tmpfs 行。

并且:某些 initscript 或 systemd 仍然必须挂载这两点,如果可能的话,在正确的时间,一一挂载:

挂载/tmp;挂载 /var/tmp

或者通过滥用 --all 选项:

挂载-a

根据我的 archlinux 上的 systemd,LVM 和 tmp.mount 都是独立且早期完成的。

正如第一个答案中所指出的:当您第一次开始将其挂载为 tmpfs 时,请确保 /tmp 或多或少是空的。否则,您的 /tmp ramdisk 下可能会隐藏数十年的旧 tmp 文件。

相关内容