小智 5
tmpfs
只要有足够的内存可用,写入 a 的数据将保持在内存中未压缩。一旦系统面临内存压力,它会尝试将数据从tmpfs
(以及从任何其他位置,如正常进程内存)移动到它可以找到的任何swap
(包括swap
on zram
)。您也可以tmpfs
通过执行简单的操作来更改 a的参数mount -o remount
,尤其是文件系统的大小或 inode 的数量。
使用zram
作为临时文件系统中的背衬的缺点,即写入的所有数据存在需要immediatelly压缩(并且其使用时解压)。您还需要在顶部放置一个文件系统,即使没有存储实际文件,也需要存储这些结构。此外,您还会受到诸如最大 inode 数之类的限制,您无法轻松更改其大小等。
恕我直言,最好的解决方案是安装在tmpfs
某个地方使用并创建一个zram
交换。它通过最大限度地减少缺点来结合两者的优点。
或者买更多的 ram ;)
由于可以进行压缩,您将通过使用zram
for获得更好的性能。swap
您的内核需要在CONFIG_ZRAM_LZ4_COMPRESS
启用的情况下构建才能从lz4
压缩中受益。
我使用zram
for swap
& for /tmp
(zram-init
使用合理的默认安装选项for /tmp
):
root@alpine [~]# cat /proc/swaps
Filename Type Size Used Priority
/dev/vda7 partition 1045500 0 -1
/dev/zram0 partition 1048572 0 16383
root@alpine [~]# mount|grep zram
/dev/zram1 on /tmp type ext4 (rw,nosuid,nodev,noexec,discard)
Run Code Online (Sandbox Code Playgroud)
仍然有使用的用例tmpfs
。我使用它们将带有安全安装选项的卷绑定到lxc
容器中:
root@http [~]# mount|grep tmpfs
tmpfs on /var/www/domain.com/bin type tmpfs (ro,nosuid,nodev,relatime,size=200k)
tmpfs on /var/www/domain.comm/dev type tmpfs (rw,nosuid,relatime,size=4k,mode=755)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3940 次 |
最近记录: |