mirror of
https://github.com/Evolution-X-Devices/device_xiaomi_stone
synced 2026-01-27 17:18:49 +00:00
stone: fix ZRAM
set 4GB for all users and set swappiness to 80
This commit is contained in:
@@ -137,3 +137,11 @@ LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := etc/ueventd.qcom.rc
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := fstab.zram
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := etc/fstab.zram
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
@@ -31,46 +31,6 @@
|
||||
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#=============================================================================
|
||||
|
||||
function configure_zram_parameters() {
|
||||
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
|
||||
MemTotal=${MemTotalStr:16:8}
|
||||
|
||||
# Zram disk - 75% for < 2GB devices .
|
||||
# For >2GB devices, size = 50% of RAM size. Limit the size to 4GB.
|
||||
|
||||
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 [ -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
|
||||
}
|
||||
|
||||
function configure_read_ahead_kb_values() {
|
||||
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
|
||||
MemTotal=${MemTotalStr:16:8}
|
||||
@@ -98,13 +58,9 @@ function configure_read_ahead_kb_values() {
|
||||
function configure_memory_parameters() {
|
||||
# Set Memory parameters.
|
||||
|
||||
# Set swappiness to 100 for all targets
|
||||
echo 100 > /proc/sys/vm/swappiness
|
||||
|
||||
# Disable wsf for all targets beacause we are using efk.
|
||||
# wsf Range : 1..1000 So set to bare minimum value 1.
|
||||
echo 1 > /proc/sys/vm/watermark_scale_factor
|
||||
configure_zram_parameters
|
||||
configure_read_ahead_kb_values
|
||||
|
||||
#M17-T code for HQ-264248 by liuhelong at 2022/12/8 start
|
||||
@@ -249,4 +205,4 @@ setprop vendor.post_boot.parsed 1
|
||||
|
||||
# M17P_T code for HQ-290074 by zhouxinyi at 2023-03-27 start
|
||||
echo 0 > /proc/sys/vm/panic_on_oom
|
||||
# M17P_T code for HQ-290074 by zhouxinyi at 2023-03-27 end
|
||||
# M17P_T code for HQ-290074 by zhouxinyi at 2023-03-27 end
|
||||
|
||||
@@ -31,46 +31,6 @@
|
||||
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#=============================================================================
|
||||
|
||||
function configure_zram_parameters() {
|
||||
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
|
||||
MemTotal=${MemTotalStr:16:8}
|
||||
|
||||
# Zram disk - 75% for < 2GB devices .
|
||||
# For >2GB devices, size = 50% of RAM size. Limit the size to 4GB.
|
||||
|
||||
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 [ -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
|
||||
}
|
||||
|
||||
function configure_read_ahead_kb_values() {
|
||||
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
|
||||
MemTotal=${MemTotalStr:16:8}
|
||||
@@ -98,13 +58,9 @@ function configure_read_ahead_kb_values() {
|
||||
function configure_memory_parameters() {
|
||||
# Set Memory parameters.
|
||||
|
||||
# Set swappiness to 100 for all targets
|
||||
echo 100 > /proc/sys/vm/swappiness
|
||||
|
||||
# Disable wsf for all targets beacause we are using efk.
|
||||
# wsf Range : 1..1000 So set to bare minimum value 1.
|
||||
echo 1 > /proc/sys/vm/watermark_scale_factor
|
||||
configure_zram_parameters
|
||||
configure_read_ahead_kb_values
|
||||
|
||||
#M17-T code for HQ-264248 by liuhelong at 2022/12/8 start
|
||||
@@ -247,4 +203,4 @@ setprop vendor.post_boot.parsed 1
|
||||
|
||||
# M17P_T code for HQ-290074 by zhouxinyi at 2023-03-27 start
|
||||
echo 0 > /proc/sys/vm/panic_on_oom
|
||||
# M17P_T code for HQ-290074 by zhouxinyi at 2023-03-27 end
|
||||
# M17P_T code for HQ-290074 by zhouxinyi at 2023-03-27 end
|
||||
|
||||
@@ -811,56 +811,6 @@ KernelVersionS=${KernelVersionStr:2:2}
|
||||
KernelVersionA=${KernelVersionStr:0:1}
|
||||
KernelVersionB=${KernelVersionS%.*}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
function configure_read_ahead_kb_values() {
|
||||
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
|
||||
MemTotal=${MemTotalStr:16:8}
|
||||
|
||||
2
rootdir/etc/fstab.zram
Normal file
2
rootdir/etc/fstab.zram
Normal file
@@ -0,0 +1,2 @@
|
||||
#<src> <mnt_point> <type> <mnt_flags> <fs_mgr_flags>
|
||||
/dev/block/zram0 none swap defaults zramsize=4294967296
|
||||
@@ -286,3 +286,14 @@ on property:persist.sys.sm6375.dt2w=0
|
||||
|
||||
on property:persist.sys.sm6375.dt2w=1
|
||||
exec /system/bin/sendevent /dev/input/event4 0 1 5
|
||||
|
||||
# Read only one page at a time
|
||||
write /proc/sys/vm/page-cluster 0
|
||||
# Swap more aggressively
|
||||
write /proc/sys/vm/swappiness 80
|
||||
# Set zRAM compression algorithm to LZ4
|
||||
write /sys/block/zram0/comp_algorithm lz4
|
||||
# Enable zRAM data deduplication feature
|
||||
write /sys/block/zram0/use_dedup 1
|
||||
# Mount swap partitions specified in fstab
|
||||
swapon_all /vendor/etc/fstab.zram
|
||||
|
||||
Reference in New Issue
Block a user