Improve memory management
add swap inherite common 4gb ram dalvik config
This commit is contained in:
parent
b84611142a
commit
b39eb14009
3 changed files with 13 additions and 53 deletions
|
@ -27,57 +27,6 @@
|
|||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
# Function from LineageOS/android_device_oneplus_oneplus3
|
||||
function configure_zram_parameters() {
|
||||
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
|
||||
MemTotal=${MemTotalStr:16:8}
|
||||
|
||||
low_ram=`getprop ro.config.low_ram`
|
||||
|
||||
# Zram disk - 75% for Go devices.
|
||||
# For 512MB Go device, size = 384MB, set same for Non-Go.
|
||||
# For 1GB Go device, size = 768MB, set same for Non-Go.
|
||||
# For 2GB Go device, size = 1536MB, set same for Non-Go.
|
||||
# For >2GB Non-Go devices, size = 50% of RAM size. Limit the size to 4GB.
|
||||
# And enable lz4 zram compression for Go targets.
|
||||
|
||||
let RamSizeGB="( $MemTotal / 1048576 ) + 1"
|
||||
diskSizeUnit=M
|
||||
if [ $RamSizeGB -le 2 ]; then
|
||||
let zRamSizeMB="( $RamSizeGB * 1024 ) * 3 / 4"
|
||||
else
|
||||
let zRamSizeMB="( $RamSizeGB * 1024 ) / 2"
|
||||
fi
|
||||
|
||||
# use MB avoid 32 bit overflow
|
||||
if [ $zRamSizeMB -gt 4096 ]; then
|
||||
let zRamSizeMB=4096
|
||||
fi
|
||||
|
||||
if [ "$low_ram" == "true" ]; then
|
||||
echo lz4 > /sys/block/zram0/comp_algorithm
|
||||
fi
|
||||
|
||||
if [ -f /sys/block/zram0/disksize ]; then
|
||||
if [ -f /sys/block/zram0/use_dedup ]; then
|
||||
echo 1 > /sys/block/zram0/use_dedup
|
||||
fi
|
||||
echo "$zRamSizeMB""$diskSizeUnit" > /sys/block/zram0/disksize
|
||||
|
||||
# ZRAM may use more memory than it saves if SLAB_STORE_USER
|
||||
# debug option is enabled.
|
||||
if [ -e /sys/kernel/slab/zs_handle ]; then
|
||||
echo 0 > /sys/kernel/slab/zs_handle/store_user
|
||||
fi
|
||||
if [ -e /sys/kernel/slab/zspage ]; then
|
||||
echo 0 > /sys/kernel/slab/zspage/store_user
|
||||
fi
|
||||
|
||||
mkswap /dev/block/zram0
|
||||
swapon /dev/block/zram0 -p 32758
|
||||
fi
|
||||
}
|
||||
|
||||
# Let kernel know our image version/variant/crm_version
|
||||
if [ -f /sys/devices/soc0/select_image ]; then
|
||||
image_version="10:"
|
||||
|
@ -106,5 +55,9 @@ case "$console_config" in
|
|||
;;
|
||||
esac
|
||||
|
||||
# Enable ZRAM
|
||||
configure_zram_parameters
|
||||
if [ -e /sys/kernel/slab/zs_handle ]; then
|
||||
echo 0 > /sys/kernel/slab/zs_handle/store_user
|
||||
fi
|
||||
if [ -e /sys/kernel/slab/zspage ]; then
|
||||
echo 0 > /sys/kernel/slab/zspage/store_user
|
||||
fi
|
||||
|
|
|
@ -22,3 +22,6 @@
|
|||
# SDCard
|
||||
/devices/soc/74a4900.sdhci/mmc_host/mmc* auto auto defaults voldmanaged=sdcard:auto,encryptable=userdata
|
||||
/devices/soc/6a00000.ssusb/6a00000.dwc3/xhci-hcd.0.auto/usb* auto auto defaults voldmanaged=usb:auto
|
||||
|
||||
# ZRAM
|
||||
/dev/block/zram0 none swap defaults zramsize=60%
|
||||
|
|
|
@ -52,6 +52,10 @@ on init
|
|||
write /sys/fs/cgroup/memory/bg/memory.move_charge_at_immigrate 1
|
||||
chown root system /sys/fs/cgroup/memory/bg/tasks
|
||||
chmod 0660 /sys/fs/cgroup/memory/bg/tasks
|
||||
write /proc/sys/vm/swappiness 100
|
||||
write /sys/block/zram0/comp_algorithm lz4
|
||||
write /sys/module/zswap/parameters/enabled 1
|
||||
|
||||
|
||||
# Add preload partition.
|
||||
mkdir /preload 0771 system system
|
||||
|
|
Loading…
Reference in a new issue