当前位置: 首页 > ops >正文

Android10 系统休眠调试相关

Android10 系统休眠调试相关

  1. 实时打印休眠日志(实测好像没作用):echo 1 > /sys/module/printk/parameters/console_suspend

  2. 查看唤醒锁:cat sys/power/wake_lock

    msm8953_64:/ # cat sys/power/wake_lock
    PowerManager.SuspendLockout PowerManagerService.Display PowerManagerService.WakeLocks
    

    PowerManager.SuspendLockout:autosuspend相关。jni nativeSetAutoSuspend->disableAutoSuspend中处理

    PowerManagerService.Display:屏幕锁,亮屏后持有,息屏则释放。DisplayManagerInternal.DisplayPowerCallbacks中处理

    PowerManagerService.WakeLocks:PMS(mWakeLockSuspendBlocker)持有阻止休眠

  3. 查看释放的唤醒锁:cat sys/power/wake_unlock

    msm8953_64:/ # cat sys/power/wake_unlock
    ApmAudio ApmOutput CHG_PLCY_MAIN_WL IdleMaint KeyEvents PowerManagerService.Broadcasts cne_imsa_ind_handler_wl_ enablecrypto429 netmgr_wl qcril qcril_pre_client_init radio-interface rmt_storage_496693144912 rmt_storage_496710958416 rpmb_access_wakelock tftp_server_wakelock
    msm8953_64:/ #
    
  4. 查看是否自动休眠:cat sys/power/autosleep

    msm8953_64:/ # cat sys/power/autosleep
    off
    msm8953_64:/ #
    
  5. 查看冻结进程的超时时间(ms):cat /sys/power/pm_freeze_timeout

    msm8953_64:/ # cat /sys/power/pm_freeze_timeout
    20000
    msm8953_64:/ #
    
  6. 查看休眠/唤醒模式:cat /sys/power/pm_async

    msm8953_64:/ # cat /sys/power/pm_async
    1
    msm8953_64:/ #
    

    0:串行模式,速度慢 1:异步模式 ,速度较快

  7. 查看支持的休眠模式:cat /sys/power/state

    msm8953_64:/ # cat /sys/power/state
    freeze mem
    msm8953_64:/ #
    

    mem:挂起到内存(suspend-to-RAM),保留运行状态
    disk:挂起到磁盘(suspend-to-disk),完全断电
    standby:浅度休眠
    freeze:仅冻结进程(无设备低功耗)

  8. 查看系统启动以来唤醒次数:cat /sys/power/wakeup_count

  9. 查看唤醒源:cat /sys/kernel/debug/wakeup_sources

    msm8953_64:/ # cat /sys/kernel/debug/wakeup_sources
    name   active_count event_count  wakeup_count expire_count active_since total_time max_time last_change     prevent_suspend_time
    ipc00000267_8924_CAM_GYRO               0               0               0               0               0               0               0               2290390         0
    ipc00000266_8924_CAM_GYRO               0               0               0               0               0               0               0               2290390         0
    ipc00000265_8924_CAM_GYRO               0               0               0               0               0               0               0               2289397         0
    PowerManagerService.Broadcasts          2               2               0               0               0               357             292             2287353         0
    cne_imsa_ind_handler_wl_                1               1               0               0               0               1001            1001            77372           0
    ......
    msm8953_64:/ #
    
    字段字段说明
    name唤醒源名称(如设备驱动名)
    active_count累计激活次数
    event_count触发事件总数
    wakeup_count成功唤醒系统次数
    active_since最近激活时间戳(jiffies)
    total_time总活跃时长(毫秒)
    max_time单次最长活跃时间
    active当前是否处于活跃状态(1/0)
    last_change最后一次状态变更时间
http://www.xdnf.cn/news/17036.html

相关文章:

  • 文件编译、调试及库制作
  • 视频水印技术中的变换域嵌入方法对比分析
  • 从 “看懂图” 到 “读懂视频”:多模态技术如何用文本反哺视觉?
  • FPGA实现Aurora 8B10B视频点对点传输,基于GTP高速收发器,提供4套工程源码和技术支持
  • RC和RR的区别
  • 关于npx react-native run-android下载进程缓慢以及进程卡壳等问题的解决方案。
  • iouring系统调用及示例
  • 16核32G硬件服务器租用需要多少钱
  • 【安卓][Mac/Windows】永久理论免费 无限ip代理池 - 适合临时快速作战
  • 【数字图像处理系列笔记】Ch01:绪论
  • Vue2项目—基于路由守卫实现钉钉小程序动态更新标题
  • 20250805
  • GitCode新手使用教程
  • 初学docker
  • 基于k8s环境下的pulsar常用命令(上)
  • 【Lua】题目小练8
  • nflsoi 8.2 题解
  • Druid与JdbcTemplate基本使用
  • vscode 关闭自动更新
  • 从达梦到 StarRocks:国产数据库实时入仓实践
  • Memcached 缓存详解及常见问题解决方案
  • P1002 [NOIP 2002 普及组] 过河卒
  • 06 基于sklearn的机械学习-欠拟合、过拟合、正则化、逻辑回归、k-means算法
  • 【RH124知识点问答题】第8章 监控和管理 Linux 进程
  • 关于解决WinRiver项目动态XmlElement的序列化与反序列化的问题
  • 2.1 vue组件
  • EXCEL删除数据透视表
  • HTTP各个版本对比
  • 网络资源模板--基于Android Studio 实现的消消乐游戏
  • 【机器学习】(算法优化二)提升算法之:AdaBoost与随机梯度