前言:
此时各位老铁们对“lzo算法”大体比较看重,你们都想要知道一些“lzo算法”的相关资讯。那么小编也在网摘上汇集了一些关于“lzo算法””的相关文章,希望我们能喜欢,你们快快来学习一下吧!电脑内存不够了,加内存条!除了加内存条呢,很多人想到的就是设置虚拟内存,比如windows在我的电脑中,可以开辟一块硬盘空间做虚拟内存,或者Linux中的SWAP,也是同样的原理。但是无论是虚拟内存,还是SWAP,使用的都是硬盘空间,就算是SSD,速度又怎么跟内存比呢!
还有一个东西,可以提高你的电脑内存,它就是ZRAM。
Zram
Zram是 Linux 内核中采用时间换空间的一种技术,2009年的时候就进了Linux 3.11内核。它通过压缩内存(Zram)来作为交换分区,通过压缩比来获取更多可利用的内存空间。该技术目前在各类内存受限的嵌入式系统中,尤其是 Android 手机、电视等设备上广泛采用。
虽然Zram是Linux最早实现的,但目前的主流操作系统,Windows、Linux、Mac OS 均支持Zram技术
这玩意可以做到最大扩大两倍可用内存大小,这样能做的事情就很多了,2G 变 6G 、4G 变 12G,即使为了性能有所克制,翻倍也是轻轻松松。
相应的,可以永远跟 swap 说拜拜了,这对尤其是云上读写很差的小机器还是很有意义的。
Zram原理
zram即是内存交换区的一种实现,与传统交换区实现的不同之处在于,传统交换区是将内存中的页交换到磁盘中暂时保存起来,发生缺页的时候,从磁盘中读取出来换入。而zram则是将内存页进行压缩,仍然存放在内存中,发生缺页的时候,进行解压缩后换入。根据经验,LZO压缩算法一般可以将内存页中的数据压缩至1/3,相当于原本三个页的数据现在一个页就能存下了,赚到了两个页,从而使可用内存感觉起来变多了。
所以需要强调,Zram不是传统的虚拟内存。传统的SWAP,即使将Swap分区迁移到SSD上面,但在发生Swap时,卡总是无法避免的,万恶之源都在于IO的瓶颈。如果减少IO交换的次数,那么情况是不是就有些好转呢?
Zram不是让你的电脑总内存增加,而是让你电脑的可用内存增加。
Zram使用了压缩算法来处理你的内存,理论上压缩算法会消耗一定CPU,但是这个LZO压缩算法对CPU的消耗很小。
开启Zram
启用很简单,Ubuntu直接sudo apt-get install zram-config就行。zram-config会自动搞定一切。
其他系统的话,如下操作:
# 加载zram模块,并创建4个设备modprobe zram num_devices=4 #查看可用流设备cat /sys/block/zram0/max_comp_streams# 查看和选择可用压缩算法cat /sys/block/zram0/comp_algorithmlzo [lz4]echo lzo > /sys/block/zram0/comp_algorithm#设置增加的压缩空间大小echo 512M > /sys/block/zrecho 1G > /sys/block/zram0/mem_limitam0/disksize# 启用zram设备为swap。zram的原理就是分出一块内存当swap分区用,其中的数据是压缩的,这样速度快,而且占用空间小。mkswap /dev/zram0 & 给zram设备分配一个高优先级,否则要是放着zram不用,去用硬盘上的swap分区就欲哭无泪了swapon -p 10 /dev/zram0 & rc.local要求最后返回0exit 0
对于Mac OS系统,Mac OS X 在2013年发布的Mavericks就增加了这个新特性——压缩内存。
对于Windows而言,需要Windows 10 才支持这个特性,在Win10中,叫做内存压缩,最早在1067版本中引入这个特性,并自动开启。如果不确认是否开启的话,可以使用如下操作,开始菜单右键选择“windows powershell(管理员)”输入以下命令
#开启内存压缩,重启生效Enable-MMAgent -mc#关闭内存压缩,重启生效Disable-MMAgent -mc#查看当前状态Get-mmagent
当然,如果你的电脑足够高端配置,内存也等于或超过了32G,那不建议你开启Zram了。毕竟,内存不用也是浪费!
标签: #lzo算法