Android10 系统休眠调试相关
-
实时打印休眠日志(实测好像没作用):echo 1 > /sys/module/printk/parameters/console_suspend
-
查看唤醒锁: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)持有阻止休眠
-
查看释放的唤醒锁: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:/ #
-
查看是否自动休眠:cat sys/power/autosleep
msm8953_64:/ # cat sys/power/autosleep off msm8953_64:/ #
-
查看冻结进程的超时时间(ms):cat /sys/power/pm_freeze_timeout
msm8953_64:/ # cat /sys/power/pm_freeze_timeout 20000 msm8953_64:/ #
-
查看休眠/唤醒模式:cat /sys/power/pm_async
msm8953_64:/ # cat /sys/power/pm_async 1 msm8953_64:/ #
0:串行模式,速度慢 1:异步模式 ,速度较快
-
查看支持的休眠模式:cat /sys/power/state
msm8953_64:/ # cat /sys/power/state freeze mem msm8953_64:/ #
mem:挂起到内存(suspend-to-RAM),保留运行状态
disk:挂起到磁盘(suspend-to-disk),完全断电
standby:浅度休眠
freeze:仅冻结进程(无设备低功耗)
-
查看系统启动以来唤醒次数:cat /sys/power/wakeup_count
-
查看唤醒源: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 最后一次状态变更时间