Releases: yc9559/qti-mem-opt
v7.1 (20200328)
v7 (20200327)
- 新增:在开机解锁前注销ZRAM,解锁后再启用ZRAM
- 改进:AdjShield由事件触发并保持间隔不低于120秒,监听位点来自Uperf项目
- 改进:AdjShield按pkg前缀匹配,匹配到冒号为止
- 改进:swappiness设置为不低于100,兼容默认值高于100的情况,比如三星默认值设置为160
- 改进:kswapd优先级设置为118,略高于一般进程的120,低于UX线程的110
- 改进:提升一点minfree并下调extra_free_kbytes,或许可以减少内存回收频繁程度
- 改进:添加systemui的APK和少部分/vendor/lib64到FSCC
- 改进:更新Magisk上游的update-binary
- 修复:swap相关操作做fallback处理,改进兼容性
Click qti-mem-opt-v7-20200327.zip below to download.
点击下方"Asserts"中的qti-mem-opt-v7-20200327.zip开始下载。
v6.1 (20200229)
- 修复:由于Magisk自带的32位busybox导致无法开启3GB以上的ZRAM
- 修复:分支逻辑错误导致低内存应用了高内存的参数
- 改进:默认的zram大小调整到足够大,有助于减少页面缓存波动
- 改进:低于6GB内存的设备不固定启动器和输入法到内存
Click qti-mem-opt-v6.1-20200229.zip below to download.
点击下方"Asserts"中的qti-mem-opt-v6.1-20200229.zip开始下载。
v6 (20200228)
- 新增:1/2GB物理内存的参数配置
- 新增:adjshield和fscache-ctrl使用armv7a-linux-androideabi21-clang编译,兼容32位平台
- 新增:禁用高通在中低端平台使用的per-process-reclaim,它的回收可能偏激进
- 新增:添加Adjshield的SELinux规则,由Magisk提供支持
- 新增:迁移到Magisk 20.3模板,向下兼容到19.0
- 修复:加大获取FSCC固定缓存大小的延时,修复未等待FSCC加载完毕就读取的值偏小
- 修复:ps/swapon/swapoff参数在BusyBox v1.31.1的兼容性,优先使用Magisk的BusyBox,/system/bin兼容性差异性太大
- 修复:动态获取MODULE_PATH,不再使用hardcore值,改进在低Magisk版本的兼容性
- 改进:完善关闭一加memory_plus,无需用户关闭“RamBoost启动加速”
- 改进:回滚使用巨大的shrinker调用间隔,据测试似乎有助于改进流畅度和zram利用率
- 改进:去掉adj档位设置,新老平台采用的adj档位完全不同
- 改进:调高efk并对内核内存回收线程设置高CFS优先级代替prefer_idle,改进在新老平台的表现一致性
- 改进:增加mem_opt_main.sh可重入性
- 改进:同步libcommon更新
- 改进:移除libpowercfg.sh
Click qti-mem-opt-v6-20200228.zip below to download.
点击下方"Asserts"中的qti-mem-opt-v6-20200228.zip开始下载。
v5.1 (20200217)
- 修复:调用supolicy更改selinux规则导致黑屏
- 修复:fscc_add_dex匹配过多
- 修复:adjshield保护阈值设置为0,修复受保护app位于前台被回收
- 修复:撤回按pkg前缀匹配,防止输入不注意匹配到太多进程,不能释放的进程太多导致系统挂死
- 修复:修复fscc状态显示在某些平台不显示已缓存大小
- 改进:如果内核不支持zram,那么它有其他的内存压缩技术,不对它们进行改动
- 改进:完善adjshield_status不在运行的原因
Click qti-mem-opt-v5.1-20200217.zip below to download.
点击下方"Asserts"中的qti-mem-opt-v5.1-20200217.zip开始下载。
v5 (20200216)
- 新增:独立zram、fscc、adjshield汇报到panel文件
- 改进:开启adjshield的同时可以保持SELinux开启
- 改进:关闭除配置的ZRAM以外的所有swap设备
- 改进:同步更新libcommon和libpowercfg
- 改进:模块内脚本不再依赖可执行权限
- 改进:min_free_kbytes一律用系统默认值
- 改进:adjshield轮询间隔改为2分钟
- 改进:固定libandroidfw.so和libjpeg.so到内存
- 改进:swapoff前设置swappiness为0减少swapoff耗时
- 修复:fscc_add_apk和fscc_add_dex匹配到太多太多文件
- 修复:补上创建adjshield的日志文件避免二进制报错退出
- 修复:adjshield退出时没有umount tmpfs
- 修复:内核回收线程cpuset设置无效
- 修复:禁用oneplus魔改移动到ZRAM启动前
Click qti-mem-opt-v5-20200216.zip below to download.
点击下方"Asserts"中的qti-mem-opt-v5-20200216.zip开始下载。
v4 (20200214)
- 新增:AdjShield后台保活服务
- 新增:固定桌面启动器和输入法二进制文件到内存
- 修改:回退watermark部分调参到V2
- 修改:关闭almk杜绝vmpressure误报
- 修改:关闭巨大的cost避免LMK有时候始终不介入
- 修改:使用较大的watermark_scale_factor降低LMK介入频率
- 修改:加大page cache保留量,降低游戏场景切换卡顿
- 修改:改进代码模块化
- 修复:perfconfigstore修改从原系统获取,避免使用同一份文件覆盖导致修改不必要的设置
- 修复:wait_until_login加上是否处于锁屏的判断,以处理其他模块把data重新挂载为rw误认为已经解锁
- 修复:关闭一加魔改的部分,修复一加平台ZRAM启用成功但是使用率一直为0
- 修复:关闭memcg,前一版本的设置未能带来预期的效果
- 修复:修复当前使用的zram压缩算法名称截取错误
Click qti-mem-opt-v4-20200214.zip below to download.
点击下方"Asserts"中的qti-mem-opt-v4-20200214.zip开始下载。
v3 (20200104)
chs:
- 增加:文件系统缓存控制,始终缓存常用框架和函数库文件
- 增加:自定义ZRAM压缩算法设置
- 改进:移动配置文件到/sdcard/Android
- 改进:关闭一加的kswapd定期lmk执行
- 改进:解决文件缓存之后,回退关闭memcg
- 改进:更新powercfg库到20200104
- 改进:统一规范化代码风格
- 修复:在低于Android 8的平台LMK始终不清理后台
- 修复:在红米K20pro上的ZRAM不能正确初始化
- 修复:使用magisk的二进制工具,而非系统分区内的
eng:
- new: add file system cache control, caching common framework and library files
- new: customizable ZRAM compression algorithm
- improve: move panel file to /sdcard/Android
- improve: disable oneplus kswapd modification
- improve: take memcg back
- improve: update powercfg lib to 20200104
- improve: unify code style
- fix: lmk doesn't work well on Android <=8
- fix: ZRAM doen't initialize correctly on Xiaomi K20pro
- fix: use binary tools of magisk, not system
Click qti-mem-opt-v3-20200104.zip below to download.
点击下方"Asserts"中的qti-mem-opt-v3-20200104.zip开始下载。
v2 (20191221)
chs:
- 增加:根据物理内存大小设置ZRAM默认大小
- 增加:根据物理内存大小设置minfree
- 增加:ZRAM 2.5GB档位
- 改进:不更改comp_algorithm为LZ4,只使用默认值
- 改进:移除导致长时间卡顿的memcg负优化降低丢弃了过多的page cache
- 改进:高内存压力下更激进地保持page cache
- 修复:LG设备上可能存在2个zram设备没有全部关闭的问题
- 修复:设置zram大小为0时显示为1.5
- 修复:swapon swapoff兼容性问题导致ZRAM无法启用
eng:
- new: Set ZRAM default size based on physical memory size
- new: Set minfree based on physical memory size
- new: Optional ZRAM level of 2.5GB
- improve: Do not change comp_algorithm to LZ4, use only default values
- improve: Removed memcg that caused long freezes to reduce excessive page cache drops
- improve: Keep page cache more aggressive under high memory pressure
- fix: 2 zram devices are not turned off on LG devices
- fix: Setting zram size to 0 shows 1.5
- fix: swapon swapoff compatibility issues prevent enabling ZRAM
Click qti-mem-opt-v1-20191214.zip below to download.
点击下方"Asserts"中的qti-mem-opt-v2-20191221.zip开始下载。
v1 (20191214)
- Remove QTI ActivityManager CUR_MAX_EMPTY_PROCESSES limit
- lowmemorykiller tend to keep tasks which adj < 950
- lowmemorykiller tend to remove tasks which adj >= 950
- Disable automatic kill when vmpressure >= 90
- Higher watermark_mid reduces the possibility of direct memory allocation
- Avoid swapping latency intensive processes, such as
system_server
,systemui
andlauncher
- Customizable ZRAM size, ranging from 0G to 6G, please edit
/sdcard/qti_mem_panel.txt
after install
Click qti-mem-opt-v1-20191214.zip
below to download.
点击下方"Asserts"中的qti-mem-opt-v1-20191214.zip
开始下载。