分页: 1 / 1

你在使用Linux内核的zram吗?

发表于 : 2016-03-12 19:33
科学之子
你在使用Linux内核的zram吗?
我个人感觉zram作为swap纯粹是个有益的方法
官方推荐的分配大小是物理内存总量的200%
在不需要时zram仅仅占用极小的内存空间,并且创建后不会占用额外的CPU时间
你还可以通过创建多个zram设备的方式充分利用多核CPU的速度优势
这是UKSM之类的"内存密度提升"方案暂时不具备的

Sat Mar 12 21:01:34 CST 2016补充:
即使高配置电脑,zram也仍有意义
zram可以使CPU资源得到更有效的利用.
尤其是当高速CPU较为空闲,但内存压力极大时(比如将内存当作硬盘用)
其次内存压力较大时,zram可以避免写入SSD之类的写入寿命有限设备,也是有价值的.

Sat Mar 12 21:24:15 CST 2016补充:
即使情况反过来CPU占用很高,只要内存富裕,ZRAM也不会占用额外的CPU时间
设置合理的情况下ZRAM自身占用的内存空间极小

Re: 你在使用Linux内核的zram吗?

发表于 : 2016-03-12 21:54
kashu
在网上看了些zram的资料,基本都是说设置成swap来用的
连wikipedia.org里也让我看得很模糊

但在Gentoo的wiki页面里看到这句话了
The zram driver creates a compressed block device in ram. That block device can then be used for swap or general purpose ram disk. (https://wiki.gentoo.org/wiki/Zram

Typically it compresses to a 3:1 ratio. So, 1G of swap uses only 333MB of ram on average.
zram挺好,我觉得可以考虑一下

退一步,假设压缩比是2:1,那我把12GB物理内存里的10GB拿出来做成zram,那就可以变成20GB内存用了? :Misdoubt

楼上的@科学之子,把你用zram的感受说下,有没有使用前的一个测试、使用后的一个测试,对比下效果到底如何?

Re: 你在使用Linux内核的zram吗?

发表于 : 2016-03-13 2:42
科学之子
kashu 写了:在网上看了些zram的资料,基本都是说设置成swap来用的
连wikipedia.org里也让我看得很模糊

但在Gentoo的wiki页面里看到这句话了
The zram driver creates a compressed block device in ram. That block device can then be used for swap or general purpose ram disk. (https://wiki.gentoo.org/wiki/Zram

Typically it compresses to a 3:1 ratio. So, 1G of swap uses only 333MB of ram on average.
zram挺好,我觉得可以考虑一下

退一步,假设压缩比是2:1,那我把12GB物理内存里的10GB拿出来做成zram,那就可以变成20GB内存用了? :Misdoubt

楼上的@科学之子,把你用zram的感受说下,有没有使用前的一个测试、使用后的一个测试,对比下效果到底如何?
这样的话10GB数据实际占用5GB内存,然后12-5=7
10+7=17GB

实际感受的话,就是虽然换取的空间很可观,但真用了那么大空间的话,速度会明显下降(但我觉得比交换到硬盘要好很多)
如果此时还运行CPU占用较高的程序就更明显了.
好在合理设置的情况下不会占用额外的CPU时间,在不需要zram时空间损失也极小
新内核还提供接口文件用来设置最大内存占用和压缩算法

如果你用tmpfs的话,建议直接用zram作为交换设备,因为tmpfs就是内存不够用时用交换设备空间
根据我的最新测试的结果,在单纯使用zram作为swap的情况下,swappiness=100是最佳策略
其实硬件配置不一样,采取的策略也不尽相同,你应该自己亲自测试一下适合自己的策略.
因为有时理论和实际并不相同.
就像这次swappiness的测试颠覆了我以前在网上看到常识和预想

Re: 你在使用Linux内核的zram吗?

发表于 : 2016-03-13 18:22
photor
:em06