• 手机上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发表的文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    数据库管理 trove openstack
    Vmware 给虚拟机传脚本并执行
    Vmware 控制脚本
    python 脚本之 IP地址探测
    python 模块之-ffmpeg 中文参数对照表
    VMware ezmomi工具使用
    VS编译器从DLL导出模板类
    Qt5+VS2012编程
    Visual Studio 2012优化
    计算几何
  • 原文地址:https://www.cnblogs.com/AsionTang/p/15432450.html
Copyright © 2020-2023  润新知