小智 5
tmpfs只要有足够的内存可用,写入 a 的数据将保持在内存中未压缩。一旦系统面临内存压力,它会尝试将数据从tmpfs(以及从任何其他位置,如正常进程内存)移动到它可以找到的任何swap(包括swapon zram)。您也可以tmpfs通过执行简单的操作来更改 a的参数mount -o remount,尤其是文件系统的大小或 inode 的数量。
使用zram作为临时文件系统中的背衬的缺点,即写入的所有数据存在需要immediatelly压缩(并且其使用时解压)。您还需要在顶部放置一个文件系统,即使没有存储实际文件,也需要存储这些结构。此外,您还会受到诸如最大 inode 数之类的限制,您无法轻松更改其大小等。
恕我直言,最好的解决方案是安装在tmpfs某个地方使用并创建一个zram交换。它通过最大限度地减少缺点来结合两者的优点。
或者买更多的 ram ;)
由于可以进行压缩,您将通过使用zramfor获得更好的性能。swap
您的内核需要在CONFIG_ZRAM_LZ4_COMPRESS启用的情况下构建才能从lz4压缩中受益。
我使用zramfor 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 次 |
| 最近记录: |