> 技术文档 > Android10 系统休眠调试相关

Android10 系统休眠调试相关


Android10 系统休眠调试相关

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

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

    msm8953_64:/ # cat sys/power/wake_lockPowerManager.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_unlockApmAudio 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_wakelockmsm8953_64:/ #
  4. 查看是否自动休眠:cat sys/power/autosleep

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

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

    msm8953_64:/ # cat /sys/power/pm_async1msm8953_64:/ #

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

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

    msm8953_64:/ # cat /sys/power/statefreeze memmsm8953_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_sourcesname active_count event_count wakeup_count expire_count active_since total_time max_time last_change prevent_suspend_timeipc00000267_8924_CAM_GYRO  0  0  0  0  0  0  0  2290390 0ipc00000266_8924_CAM_GYRO  0  0  0  0  0  0  0  2290390 0ipc00000265_8924_CAM_GYRO  0  0  0  0  0  0  0  2289397 0PowerManagerService.Broadcasts 2  2  0  0  0  357 292 2287353 0cne_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 最后一次状态变更时间