linux调整zram大小,linux Kernel 添加 ZRAM 支持

ZRAM, 简单的说,就是拿一部分内存当做交换分区使用,暂时不用的内存页面压缩后保存在 zram交换分区面.因为是压缩后保存的,所以可以省出一部分内存. zram 特别适合于内存有限,并且没有硬盘可以作为交换分区的设备上,特别是嵌入式系统里面.

如果系统想要使用  zram,首先要配置下内核,把 zram添加进来:

在  3.10内核上, zram 在 Device Drivers --- Staging Drivers 里面:

│ │ [*] Memory allocator for compressed pages │ │

│ │ Compressed RAM block device support选中之后, 重新编译内核.会得到一个 zram.ko 文件.把它放到目标系统的 lib/modules/3.10.20/下面.

然后,还要修改 /etc/rc.local 如下:

4 modprobe zram &&

5 echo $((256*1024*1024)) > /sys/block/zram0/disksize &&

6 mkswap /dev/zram0 &&

7 swapon -p 10 /dev/zram0 &&

sysctl -w vm.swappiness=10目的是加载zram 内核模块,配置zram 分区大小为 256M, 创建 zram交换分区,并设置优先级为 10.

最后,重启系统,第一次没有成功,有下面的错误:

zram: module is from the staging directory, the quality is unknown, you have been warned.

zram: Unknown symbol lzo1x_decompress_safe (err 0)

zram: Unknown symbol lzo1x_1_compress (err 0)

modprobe: module 'lzo_compress' not found

modprobe: module 'lzo_decompress' not found

zram: module is from the staging directory, the quality is unknown, you have been warned.

zram: Unknown symbol lzo1x_decompress_safe (err 0)

zram: Unknown symbol lzo1x_1_compress (err 0)

modprobe: 'zram.ko': unknown symbol in module or invalid parameter

/etc/rc.local: line 7: can't create /sys/block/zram0/disksize: nonexistent directory

原因是有两个  zram依赖的模块 lzo_compress 和 lzo_decompress 没有加载进来.

把这两个模块加来之后,重新启动系统,这次就没问题了.

root@taotao:/#free

total used free shared buffers

Mem: 1033864 15792 1018072 0 248

-/+ buffers: 15544 1018320

Swap: 262140 0 262140

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值