源起
- 红米K30 Pro手机已ROOT
- 已经正常用了1年了
- 买来就把5G关了
- 最近移动来短信说开启5G联网有话费赠送, 于是开始使用5G
- 然后突然发现电量掉得很快
- 去"电池与性能"里看到有一个叫做
mcd
的程序耗电异常的高
解决方案?
- 重启之后好像还是存在, 尝试将5G关闭后,好像不见了
mcd
到底是个啥玩意?
- 通过
3C All-in-One Toolbox
的"任务管理"模块看到一个同名可执行文件进程/system/bin/mcd
mcd
网络相关资料
- 与google 服务器通信时出现问题?我好像找到原因了 - V2EX
一个名叫 mcd 的系统程序,在 iptables 里写了规则,把 uid 为 10035 的用户相关的包拒绝了
小米的 rom 屏蔽了 google play 服务
这个 mcd 是个二进制文件 转成 ascii 就是 trace_out iptables
这个 mcd 很贼,root 后它就不屏蔽了
與 google 伺服器通訊時出現問題?我好像找到原因了 - 摸鱼
mcd 據我瞭解是 miui 的強力清理還是啥。這個應該是省電策略沒錯
mcd
反编译信息
cutter,由 rizin 提供支持的免费开源逆向工程平台,下载cutter的源码_GitHub_帮酷
https://github.com/rizinorg/cutter
NO MCD CONFIG FILE DEFINED (persist.sys.mcd_config_file)
init_gms_iptable_chain
override for power mode %s
power_save
set_brightness
debug_policy
cannot get mcd binder service
atrace --async_dump > /sdcard/trace_out
forceBusyOffPct
kill_camera_process_by_pid
persist.sys.mcd_config_file
相关信息
-
RN3Pro Snapdragon - 应用程序冻结和更好的内存管理| XDA 论坛
变成这样:#persist.sys .mcd_config_file=/system/etc/mcd_default.conf
不知道为什么小米决定使用他们自定义的动态交换和内存优化 - 因为他们的设置很烂。调整后,您会注意到更好的内存优化、更快的应用程序切换、更多的应用程序保存在内存中,并且手机性能通常更好。
mcd_default.config 是激活第二个通道 ram 或 Zram 的设置,它不仅仅是一个交换。
它的目的是“添加更多内存”,这对网页浏览、多任务处理和应用程序缓存、zram 配置优先级系统缓存和内核有好处,然后再缓存支持的应用程序。
禁用它会强制所有应用程序缓存存储在主 Ram 女巫上,这可能会导致某些游戏内存不足,其他应用程序也会导致延迟。 -
device_xiaomi_grus/vendor-props.mk at quartz · JLexu/device_xiaomi_grus · GitHub
persist.sys.mcd_config_file=/system/etc/mcd_default.conf
{
"memory_opt": {
"zram_device_num": 1,
"zram_size_MB": "512 1536:768 2560:1024 3256:2252 4915:2560 6553:4048 8892:4048 12888:0",
"global_swappiness": 60,
"more_memory_swappiness":60
},
"power_save": {
"defAutoSave": 0,
"windowLength": 3000,
"forceIdleOffPct": 10,
"forceBusyOffPct": 100
},
"cgroups": [
{
"groupname": "sys_critical",
"priority": 1,
"swappiness": 0,
"def_tasks": [
{"uid": "root", "name": "/sbin/ueventd"},
{"uid": "root", "name": "/system/bin/vold"},
{"uid": "root", "name": "/system/bin/netd" },
{"uid": "system", "name": "/system/bin/surfaceflinger"},
{"uid": "system", "name": "/system/bin/servicemanager"}
]
}
],
"power_modes": [
{
"mode_id": "0",
"mode_name": "normal",
"mode_type": "0"
},
{
"mode_id": "1",
"mode_name": "idle",
"mode_type": "0"
},
{
"mode_id": "2",
"mode_name": "keyguard",
"mode_type": "0"
}
],
"override_memory_opt": [
{
"model":["MI 2", "MI 2W", "MI 2C"],
"memory_opt": {
"zram_device_num": 0,
"zram_size_MB": "0"
}
},
{
"model":["Mi-4c"],
"memory_opt": {
"more_memory_swappiness":60
}
},
{
"model":["Redmi Note 7"],
"memory_opt": {
"zram_device_num": 1,
"zram_size_MB": "512 1536:768 2560:1536 3256:2252 4915:2560 6553:0"
}
},
{
"model":["Redmi S2","Redmi 6","Redmi 6A"],
"memory_opt": {
"zram_device_num": 1,
"zram_size_MB": "512 1536:768 2560:1024 3256:2040 4915:2560 6553:0"
}
},
{
"model":["Redmi 7"],
"memory_opt": {
"zram_device_num": 1,
"zram_size_MB": "512 1536:1024 2560:1024 3256:2040 4915:2560 6553:0"
}
}
],
"override_power_save": [
{
"model": ["MI NOTE Pro"],
"power_save": {
"defAutoSave": 0
}
}
],
"override_power_modes": [
{
"model": ["MI NOTE Pro"],
"power_modes": [
{
"mode_id": "1",
"mode_name": "idle",
"autosave": 0
}
]
}
]
}