tmpfs 与 swap 和 zram,讨论一下
- 0次
- 1975-02-24 23:54:30
- idczone
1.当 tmpfs 的大小超过物理内存时是否可创建?若可
创建,必然有一部分落在 swsp 上,这时对 tmpfs 的性能下将是否巨大?
2.tmpfs 是否可与 zram 同时存在?若可同时存在,当 tmpfs 超出物理内存时,是否能先回落到 zram,缓冲进一步回落到 swap,zram 似乎具有较大的压缩能力。
3.当 swap 与 zram 都是基于 ssd 时,较 hdd 是否有明显提升?
之所以问这个问题无非是现在内存太贵,加不起了。
1.
tmpfs 容量和物理内存大小无关,应该是只和总提交大小上限有关。
落在 swap 很正常,就算是正常使用的时候也会有大量的分页落在 swap 上。
只要不往 swap 里换页,就不会有性能问题。
23. zram 不熟。
当内存不够时,不建议 tmpfs
1,刚才看了 tmpfs.txt ,tmpfs 默认大小是不含 swap 物理内存一半,大小可设置(比如我编译 chromium 的时候会 remount 一下);文档说超限制会死锁( if oversize your tmpfs instance the machine will deadlock ),这里 size 应该是指 ram+swap 的和。
2,zram 不熟悉,看了下 zram.txt ,zram 可以作为是 swap 分区,也可以作为普通分区(如 /tmp ),所以 tmpfs 和 zram 可以同时启用但是不能是同一个分区(比如 tmpfs /var/tmp,zram /tmp )。
3,从文档描述来看 zram 是用内存( ram )模拟磁盘( block ),看似它只比 tmpfs 对了压缩特性而已。
tmpfs/zram 是内存多的时候用内存当磁盘提高性能; swap 是内存不足(比如 2g 内存编译 chromium,openoffice 时)用磁盘当内存。普通用户 4g 内存时,就可以禁用 swap 了(我的 chromebook 4g 内存禁用 swap,还可以 android app,内存做够了),4g 以上就 tmpfs 吧。
swap 在 ssd 上性能比 hdd 上强很多。
zram 可以取代 tmpfs,文档中有示例:
mkfs.ext4 /dev/zram1
mount /dev/zram1 /tmp