tmpfs 与 swap 和 zram,讨论一下

2017-11-04 10:32:02 +08:00
 aruisi
1.当 tmpfs 的大小超过物理内存时是否可创建?若可
创建,必然有一部分落在 swsp 上,这时对 tmpfs 的性能下将是否巨大?
2.tmpfs 是否可与 zram 同时存在?若可同时存在,当 tmpfs 超出物理内存时,是否能先回落到 zram,缓冲进一步回落到 swap,zram 似乎具有较大的压缩能力。
3.当 swap 与 zram 都是基于 ssd 时,较 hdd 是否有明显提升?

之所以问这个问题无非是现在内存太贵,加不起了。
4280 次点击
所在节点    Linux
5 条回复
msg7086
2017-11-04 10:58:14 +08:00
1.
tmpfs 容量和物理内存大小无关,应该是只和总提交大小上限有关。
落在 swap 很正常,就算是正常使用的时候也会有大量的分页落在 swap 上。
只要不往 swap 里换页,就不会有性能问题。

23. zram 不熟。
dxsweet
2017-11-04 11:02:01 +08:00
当内存不够时,不建议 tmpfs
henglinli
2017-11-04 12:07:21 +08:00
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 吧。
zts1993
2017-11-04 13:25:27 +08:00
swap 在 ssd 上性能比 hdd 上强很多。
wwhc
2017-11-16 04:46:34 +08:00
zram 可以取代 tmpfs,文档中有示例:
mkfs.ext4 /dev/zram1
mount /dev/zram1 /tmp

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/403446

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX