博文

目前显示的是标签为“ZRAM”的博文

Android系统在小内存下的使用

  最近在调试的方案,硬件配置是512MB的DDR,这在Android4.4这号称优化很大的系统版本上运行还是很吃力,找了一些资料,发现我们的方案上使用到了ZRAM这一技术,直接使用压缩内存来作为交换分区,其中涉及到的内核配置如下:   CONFIG_SWAP=y   CONFIG_CGROUP_MEM_RES_CTLR=y   CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y   CONFIG_ZRAM=y   CONFIG_ZSMALLOC=y   接下来运行起来后(如上述编译失败,需要把SYSFS和BLOCK相关配置加上),可以看到有/dev/block/zram0 这一结点,然后我们的方案在init.rc里加了一个service,其为oneshot类型,就是执行一个脚本了,脚本内容如下:   #!/system/bin/sh   echo $((256*1024*1024))  > /sys/block/zram0/disksize   mkswap /dev/block/zram0   swapon /dev/block/zram0   sleep 1   mkfs.ext2 -b 4096 /dev/block/zram0   sleep 1   mount -t rootfs -o remount -rw rootfs /   mkdir /swap_zram0   sleep 1   mount -t rootfs -o remount -r rootfs /   mount -t ext2 -o rw /dev/block/zram0 /swap_zram0   这样的话,我们就有了一个交换分区来使用了,但发现使用free -m命令查看时,SWAP分区一直没有使用,并且一直有lowmemorykiller的操作,后来发现是我们的/sys/module/lowmemorykiller/parameters/minfree参数还是1GB DDR的配置,故而将其按一定比例调小后就可以了。...