optimize_mem(){
  if ${memopt} ; then
    log "优化内存存储"
    busybox=/data/adb/magisk/busybox
      sm fstrim 2>/dev/null
      $busybox fstrim /data 2>/dev/null
      sm fstrim 2>/dev/null
    echo all > /sys/block/zram0/idle
    sleep 75
    echo idle > /sys/block/zram0/writeback
  fi
}
modify_io(){
  if ${io} ; then
    log "调校I/O参数"
    loop=$(cat /sys/block/zram0/backing_dev | grep -o "loop[0-30]*")
    echo none > /sys/block/$loop/queue/scheduler
    echo 1024 > /sys/block/$loop/queue/read_ahead_kb
    echo 256 > /sys/block/sda/queue/read_ahead_kb
    echo 256 > /sys/block/sde/queue/read_ahead_kb
    echo 64 > /sys/block/sda/queue/nr_requests
    echo 64 > /sys/block/sde/queue/nr_requests
    echo 2 > /sys/block/sda/queue/rq_affinity
    echo 2 > /sys/block/sde/queue/rq_affinity
  fi
}
zram_efficient(){
  if ${affinity} ; then
    log "优化zram压缩"
    change_task(){
      local ps_ret="$(ps -Ao pid,args)"
      for temp_pid in $(echo "$ps_ret" | grep "$1" | awk '{print $1}'); do
        for temp_tid in $(ls "/proc/$temp_pid/task/"); do
          taskset -p "$2" "$temp_tid"
          renice "$3" -p "$temp_tid"
        done
      done
    }
    change_task "kswapd" "e0" "-2"
    change_task "oom_reaper" "4" "-3"
    echo 8 > /sys/block/zram0/max_comp_streams
    echo 1 > /proc/sys/vm/page-cluster
  fi
}
zram_efficient
modify_io
optimize_mem
log "完成！"