-
Notifications
You must be signed in to change notification settings - Fork 0
/
scripts.sh
105 lines (102 loc) · 5.28 KB
/
scripts.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#! /vendor/bin/sh
# Copyright (C) 2020-2021, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# 该脚本只是为了 "尽可能" 的让官方内核也拥有些三方的内核更改优化
# 受限于内核与脚本的区别, 只能实现些微小的更改, 如果想获得大幅度提升,
# 还是建议您刷入第三方内核.
#
# 针对设备的注意事项:
# 因为用户大部分喜欢刷官改包, 官改包基本都是解密data状态,
# 所以您需要手动将脚本中的 "dm-5" 的字样替换为 "sda34" .
#
## ADD: Amktiao添加: 设置获取userdata分区变量 (f2fs需要)
userdata=$(getprop dev.mnt.blk.data)
## END: Amktiao结束: 设置获取userdata分区变量 (f2fs需要)
## ADD: Amktiao添加: 禁用sd<x>分区的I/O读写统计
# 禁用磁盘I/O统计 (来自: kdrag0n)
echo "0" > /sys/block/sda/queue/iostats
echo "0" > /sys/block/sdb/queue/iostats
echo "0" > /sys/block/sdc/queue/iostats
echo "0" > /sys/block/sdd/queue/iostats
echo "0" > /sys/block/sde/queue/iostats
echo "0" > /sys/block/sdf/queue/iostats
## END: Amktiao结束: 禁用sd<x>分区的I/O读写统计
## ADD: Amktiao添加: 禁用binder与分配工具的日志
# 禁用binder调试 (来自: kdrag0n)
echo "0" > /sys/module/binder/parameters/debug_mask
echo "0" > /sys/module/binder_alloc/parameters/debug_mask
## END: Amktiao结束: 禁用binder与分配工具的日志
## ADD: Amktiao添加: 禁用irq唤醒线程记录
# 注意: 此功能用于调试耗电记录
echo "0" > /sys/module/msm_show_resume_irq/parameters/debug_mask
## END: Amktiao结束: 禁用irq唤醒线程记录
## ADD: Amktiao添加: 禁用内核调试监视器 (self-hosted debug)
# 由于我们使用库存内核, 使用标志"nodebugmon" 是最好的
echo "N" > /sys/kernel/debug/debug_enabled
## END: Amktiao结束: 禁用内核调试监视器 (self-hosted debug)
## ADD: Amktiao添加: 为主数据与系统分区调整预读与NR参数 (sda-sde)
echo "128" > /sys/block/sda/queue/read_ahead_kb
echo "36" > /sys/block/sda/queue/nr_requests
echo "128" > /sys/block/sde/queue/read_ahead_kb
echo "36" > /sys/block/sde/queue/nr_requests
## END: Amktiao结束: 为主数据与系统分区调整预读与NR参数 (sda-sde)
## ADD: Amktiao添加: 为dm加密设备调整预读与NR参数 (userdata)
echo "128" > /sys/block/${userdata}/queue/read_ahead_kb
echo "36" > /sys/block/${userdata}/queue/nr_requests
## END: Amktiao结束: 为dm加密设备调整预读与NR参数 (userdata)
## ADD: Amktiao添加: 为ZRAM设备调整预读与NR参数 (zram0)
echo "128" > /sys/block/zram0/queue/read_ahead_kb
echo "36" > /sys/block/zram0/queue/nr_requests
## END: Amktiao结束: 为ZRAM设备调整预读与NR参数 (zram0)
## ADD: Amktiao添加: 调整页面簇 (low-mem)
echo "0" > /proc/sys/vm/page-cluster
## END: Amktiao结束: 调整页面簇 (low-mem)
## ADD: Amktiao添加: 禁用subsystem_ramdumps
# 禁用subsystem_ramdumps
echo "0" > /sys/module/subsystem_restart/parameters/enable_ramdumps
## END: Amktiao结束: 禁用subsystem_ramdumps
## ADD: Amktiao添加: 仅保留内核日志 (kernel dmesg)
# 仅保留内核日志 (kernel dmesg)
echo "off" > /proc/sys/kernel/printk_devkmsg
## END: Amktiao结束: 仅保留内核日志 (kernel dmesg)
## ADD: Amktiao添加: 更改脏页回写时间 (30s 秒)
echo "3000" > /proc/sys/vm/dirty_expire_centisecs
## END: Amktiao结束: 更改脏页回写时间 (30s 秒)
## ADD: Amktiao添加: 禁用f2fs I/O数据收集统计 (用于调试)
# 禁用f2fs I/O数据收集统计 (用于调试, Android R 加入)
echo "0" > /sys/fs/f2fs/${userdata}/iostat_enable
## END: Amktiao结束: 禁用f2fs I/O数据收集统计 (用于调试)
## ADD: Amktiao添加: 禁用schedstats (sched)
# sched_schedstats:
# Enables/disables scheduler statistics. Enabling this feature
# incurs a small amount of overhead in the scheduler but is
# useful for debugging and performance tuning.
echo "0" > /proc/sys/kernel/sched_schedstats
## END: Amktiao结束: 禁用schedstats (sched)
## ADD: Amktiao添加: 调整内存统计间隔 (默认为1, 也就是1秒)
# 调整内存统计间隔 (默认为1, 也就是1秒)
echo "20" > /proc/sys/vm/stat_interval
## END: Amktiao结束: 调整内存统计间隔 (默认为1, 也就是1秒)
## ADD: Amktiao添加: 禁用 禁用sched_autogroup
# 禁用sched_autogroup (在移动端设备上无用)
echo "0" > /proc/sys/kernel/sched_autogroup_enabled
## END: Amktiao结束: 禁用 禁用sched_autogroup
## ADD: Amktiao添加: 清理小米杂项
# 删除不必要网络日志 (位于/data/vendor/wifi_logs)
stop cnss_diag
rm -rf /data/vendor/wlan_logs
# 禁用小米程序调试
setprop sys.miui.ndcd off
## END: Amktiao结束: 清理小米杂项