手机上mcd程序耗电异常问题相关

源起

  1. 红米K30 Pro手机已ROOT
  2. 已经正常用了1年了
  3. 买来就把5G关了
  4. 最近移动来短信说开启5G联网有话费赠送, 于是开始使用5G
  5. 然后突然发现电量掉得很快
  6. 去"电池与性能"里看到有一个叫做mcd的程序耗电异常的高

解决方案?

  1. 重启之后好像还是存在, 尝试将5G关闭后,好像不见了

mcd到底是个啥玩意?

  1. 通过3C All-in-One Toolbox的"任务管理"模块看到一个同名可执行文件进程/system/bin/mcd

mcd网络相关资料

  1. 与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相关信息

  1. RN3Pro Snapdragon - 应用程序冻结和更好的内存管理| XDA 论坛

    变成这样:#persist.sys .mcd_config_file=/system/etc/mcd_default.conf
    不知道为什么小米决定使用他们自定义的动态交换和内存优化 - 因为他们的设置很烂。调整后,您会注意到更好的内存优化、更快的应用程序切换、更多的应用程序保存在内存中,并且手机性能通常更好。
    mcd_default.config 是激活第二个通道 ram 或 Zram 的设置,它不仅仅是一个交换。
    它的目的是“添加更多内存”,这对网页浏览、多任务处理和应用程序缓存、zram 配置优先级系统缓存和内核有好处,然后再缓存支持的应用程序。
    禁用它会强制所有应用程序缓存存储在主 Ram 女巫上,这可能会导致某些游戏内存不足,其他应用程序也会导致延迟。

  2. 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
            }
        ]
    }
]

}

作者:Asion Tang
凡是没有注明[转载]的文章,本Blog发表的文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/AsionTang/p/15432450.html