当前位置: 首页 > 知识库问答 >
问题:

从pm-suspend中唤醒会导致完全重启

东门茂实
2023-03-14

$ sudo pm-suspend

根据笔记本电脑是否连接到外部电源,会导致异常行为。

以下场景已经过测试,可以重现:

  1. 使用交流电源时暂停,唤醒。结果:正常恢复
  2. 电池供电时暂停,唤醒。结果:完全重新启动
  3. 使用交流电源时暂停,断开交流电源,唤醒。结果:完全重新启动
  4. 使用交流电源时暂停,断开交流电源,重新连接交流电源,唤醒。结果:完全重新启动
  5. 使用电池电源时暂停,连接交流电源,唤醒。结果:完全重新启动

编辑1:完全重启不遵循干净的关闭,如fsck在启动期间运行等。我不相信这是预期的行为。

你能,善良的互联网,请帮助诊断这个问题?

基本调试信息如下。请让我知道我可以提供哪些进一步的调试信息。

System: Ubuntu 16.04 LTS
Machine: Asus K501UX
Video Driver: xserver-xorg-video-nouveau
Video Card: NVIDIA GeForce GTX 950M

(使用专有的nvidia驱动程序会导致加载驱动程序后出现黑屏。)

$ uname -a
Linux robyn-xenail 4.4.0-62-generic #83-Ubuntu SMP Wed Jan 18 14:10:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

亮度设置和功率设置的屏幕截图。

还有两位信息:

>

  • 这个问题过去不存在。我不清楚是什么导致了它的出现。加载Linux内核版本4.2.0-27(我目前安装的最旧版本)并不能解决这个问题。
  • 我不怀疑这是pm-暂停启动的挂起进程的问题,而是与一些电源设置(acpi等)有关。我已经为上面的CASE 1的一个实例附加了日志(/var/log/pm-suspend.log.1)。对于所有其他情况,日志与该行相同(模时间戳等)

    美国东部时间2017年2月15日星期三22:38:12:执行暂停

    ,并且日志的其余部分丢失,即机器永远不会“唤醒”,而是重新启动。

    ***开始日志文件:

    Initial commandline parameters:     
    Wed Feb 15 22:38:11 EST 2017: Running hooks for suspend.    
    Running hook /usr/lib/pm-utils/sleep.d/000kernel-change suspend suspend:    
    /usr/lib/pm-utils/sleep.d/000kernel-change suspend suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/000record-status suspend suspend:    
    /usr/lib/pm-utils/sleep.d/000record-status suspend suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/00logging suspend suspend:    
    Linux robyn-xenial 4.4.0-62-generic #83-Ubuntu SMP Wed Jan 18 14:10:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux    
    Module                  Size  Used by    
    drbg                   32768  1    
    ansi_cprng             16384  0    
    ctr                    16384  1    
    ccm                    20480  1    
    rfcomm                 69632  0    
    bbswitch               16384  0    
    bnep                   20480  2    
    binfmt_misc            20480  1    
    nls_iso8859_1          16384  1    
    joydev                 20480  0    
    i2c_designware_platform    16384  0    
    i2c_designware_core    20480  1 i2c_designware_platform    
    asus_nb_wmi            24576  0    
    asus_wmi               28672  1 asus_nb_wmi    
    sparse_keymap          16384  1 asus_wmi    
    uvcvideo               90112  0    
    arc4                   16384  2    
    intel_rapl             20480  0    
    videobuf2_vmalloc      16384  1 uvcvideo    
    videobuf2_memops       16384  1 videobuf2_vmalloc    
    videobuf2_v4l2         28672  1 uvcvideo    
    x86_pkg_temp_thermal    16384  0    
    intel_powerclamp       16384  0    
    iwlmvm                311296  0    
    coretemp               16384  0    
    videobuf2_core         36864  2 uvcvideo,videobuf2_v4l2    
    snd_soc_skl            49152  0    
    snd_soc_skl_ipc        32768  1 snd_soc_skl    
    snd_hda_ext_core       28672  1 snd_soc_skl    
    snd_soc_sst_ipc        16384  1 snd_soc_skl_ipc    
    mac80211              737280  1 iwlmvm    
    snd_soc_sst_dsp        53248  1 snd_soc_skl_ipc    
    snd_soc_core          212992  1 snd_soc_skl    
    v4l2_common            16384  1 videobuf2_v4l2    
    snd_compress           20480  1 snd_soc_core    
    kvm_intel             172032  0    
    ac97_bus               16384  1 snd_soc_core    
    snd_hda_codec_hdmi     53248  1    
    kvm                   540672  1 kvm_intel    
    snd_pcm_dmaengine      16384  1 snd_soc_core    
    snd_hda_codec_conexant    24576  1    
    snd_hda_codec_generic    77824  1 snd_hda_codec_conexant    
    videodev              176128  4 uvcvideo,v4l2_common,videobuf2_core,videobuf2_v4l2    
    irqbypass              16384  1 kvm    
    dw_dmac_core           24576  1 snd_soc_sst_dsp    
    crct10dif_pclmul       16384  0    
    crc32_pclmul           16384  0    
    ghash_clmulni_intel    16384  0    
    aesni_intel           167936  2    
    media                  24576  2 uvcvideo,videodev    
    snd_hda_intel          40960  3    
    aes_x86_64             20480  1 aesni_intel    
    snd_hda_codec         135168  4 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_codec_generic,snd_hda_intel    
    lrw                    16384  1 aesni_intel    
    gf128mul               16384  1 lrw    
    iwlwifi               200704  1 iwlmvm    
    snd_hda_core           73728  7 snd_hda_ext_core,snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,snd_soc_skl    
    snd_hwdep              16384  1 snd_hda_codec    
    glue_helper            16384  1 aesni_intel    
    btusb                  45056  0    
    hci_uart               77824  0    
    snd_pcm               106496  8 snd_hda_ext_core,snd_soc_core,snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_soc_skl,snd_pcm_dmaengine,snd_hda_core    
    btrtl                  16384  1 btusb    
    snd_seq_midi           16384  0    
    snd_seq_midi_event     16384  1 snd_seq_midi    
    snd_rawmidi            32768  1 snd_seq_midi    
    btbcm                  16384  2 btusb,hci_uart    
    btqca                  16384  1 hci_uart    
    snd_seq                69632  2 snd_seq_midi_event,snd_seq_midi    
    snd_seq_device         16384  3 snd_seq,snd_rawmidi,snd_seq_midi    
    ablk_helper            16384  1 aesni_intel    
    snd_timer              32768  2 snd_pcm,snd_seq    
    cfg80211              565248  3 iwlwifi,mac80211,iwlmvm    
    snd                    81920  19 snd_soc_core,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_compress    
    mei_me                 36864  0    
    btintel                16384  2 btusb,hci_uart    
    input_leds             16384  0    
    cryptd                 20480  3 ghash_clmulni_intel,aesni_intel,ablk_helper    
    soundcore              16384  1 snd    
    bluetooth             520192  31 bnep,btbcm,btqca,btrtl,btusb,hci_uart,rfcomm,btintel    
    mei                    98304  1 mei_me    
    elan_i2c               36864  0    
    serio_raw              16384  0    
    shpchp                 36864  0    
    idma64                 20480  0    
    virt_dma               16384  1 idma64    
    processor_thermal_device    16384  0    
    intel_lpss_pci         16384  0    
    intel_soc_dts_iosf     16384  1 processor_thermal_device    
    int3403_thermal        16384  0    
    tpm_crb                16384  0    
    intel_lpss_acpi        16384  0    
    intel_lpss             16384  2 intel_lpss_pci,intel_lpss_acpi    
    int3402_thermal        16384  0    
    int3400_thermal        16384  0    
    mac_hid                16384  0    
    acpi_thermal_rel       16384  1 int3400_thermal    
    int340x_thermal_zone    16384  3 int3402_thermal,processor_thermal_device,int3403_thermal    
    acpi_pad               24576  0    
    parport_pc             32768  0    
    ppdev                  20480  0    
    lp                     20480  0    
    parport                49152  3 lp,ppdev,parport_pc    
    autofs4                40960  2    
    hid_generic            16384  0    
    usbhid                 49152  0    
    mxm_wmi                16384  0    
    i915_bpo             1302528  5    
    intel_ips              20480  1 i915_bpo    
    i2c_algo_bit           16384  1 i915_bpo    
    drm_kms_helper        155648  1 i915_bpo    
    syscopyarea            16384  1 drm_kms_helper    
    sysfillrect            16384  1 drm_kms_helper    
    sysimgblt              16384  1 drm_kms_helper    
    fb_sys_fops            16384  1 drm_kms_helper    
    drm                   364544  6 i915_bpo,drm_kms_helper    
    r8169                  81920  0    
    ahci                   36864  4    
    libahci                32768  1 ahci    
    mii                    16384  1 r8169    
    i2c_hid                20480  0    
    hid                   118784  3 i2c_hid,hid_generic,usbhid    
    wmi                    20480  2 mxm_wmi,asus_wmi    
    pinctrl_sunrisepoint    28672  0    
    pinctrl_intel          20480  1 pinctrl_sunrisepoint    
    video                  40960  2 i915_bpo,asus_wmi    
    fjes                   28672  0    
                  total        used        free      shared  buff/cache   available    
    Mem:       12193548     1565912     8941824      423648     1685812     9866024    
    Swap:      26214396           0    26214396    
    /usr/lib/pm-utils/sleep.d/00logging suspend suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/00powersave suspend suspend:    
    /usr/lib/pm-utils/sleep.d/00powersave suspend suspend: success.    
    
    Running hook /etc/pm/sleep.d/10_grub-common suspend suspend:    
    /etc/pm/sleep.d/10_grub-common suspend suspend: success.    
    
    Running hook /etc/pm/sleep.d/10_unattended-upgrades-hibernate suspend suspend:    
    /etc/pm/sleep.d/10_unattended-upgrades-hibernate suspend suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/40inputattach suspend suspend:    
    /usr/lib/pm-utils/sleep.d/40inputattach suspend suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/50unload_alx suspend suspend:    
    /usr/lib/pm-utils/sleep.d/50unload_alx suspend suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/60_wpa_supplicant suspend suspend:    
    Selected interface 'p2p-dev-wlan0'    
    OK    
    /usr/lib/pm-utils/sleep.d/60_wpa_supplicant suspend suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/75modules suspend suspend:    
    /usr/lib/pm-utils/sleep.d/75modules suspend suspend: not applicable.    
    
    Running hook /usr/lib/pm-utils/sleep.d/90clock suspend suspend:    
    /usr/lib/pm-utils/sleep.d/90clock suspend suspend: not applicable.    
    
    Running hook /usr/lib/pm-utils/sleep.d/94cpufreq suspend suspend:    
    /usr/lib/pm-utils/sleep.d/94cpufreq suspend suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/95anacron suspend suspend:    
    /usr/lib/pm-utils/sleep.d/95anacron suspend suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/95hdparm-apm suspend suspend:    
    /usr/lib/pm-utils/sleep.d/95hdparm-apm suspend suspend: not applicable.    
    
    Running hook /usr/lib/pm-utils/sleep.d/95led suspend suspend:    
    /usr/lib/pm-utils/sleep.d/95led suspend suspend: not applicable.    
    
    Running hook /usr/lib/pm-utils/sleep.d/98video-quirk-db-handler suspend suspend:    
    Kernel modesetting video driver detected, not using quirks.    
    /usr/lib/pm-utils/sleep.d/98video-quirk-db-handler suspend suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/99video suspend suspend:    
    kernel.acpi_video_flags = 0    
    /usr/lib/pm-utils/sleep.d/99video suspend suspend: success.    
    
    Running hook /etc/pm/sleep.d/novatel_3g_suspend suspend suspend:    
    /etc/pm/sleep.d/novatel_3g_suspend suspend suspend: success.    
    
    Wed Feb 15 22:38:12 EST 2017: performing suspend    
    Wed Feb 15 22:38:18 EST 2017: Awake.    
    Wed Feb 15 22:38:18 EST 2017: Running hooks for resume    
    Running hook /etc/pm/sleep.d/novatel_3g_suspend resume suspend:    
    /etc/pm/sleep.d/novatel_3g_suspend resume suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/99video resume suspend:    
    /usr/lib/pm-utils/sleep.d/99video resume suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/98video-quirk-db-handler resume suspend:    
    /usr/lib/pm-utils/sleep.d/98video-quirk-db-handler resume suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/95led resume suspend:    
    /usr/lib/pm-utils/sleep.d/95led resume suspend: not applicable.    
    
    Running hook /usr/lib/pm-utils/sleep.d/95hdparm-apm resume suspend:    
    
    /dev/sda:    
     setting Advanced Power Management level to 0xfe (254)    
     APM_level  = 254    
    /usr/lib/pm-utils/sleep.d/95hdparm-apm resume suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/95anacron resume suspend:    
    /usr/lib/pm-utils/sleep.d/95anacron resume suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/94cpufreq resume suspend:    
    /usr/lib/pm-utils/sleep.d/94cpufreq resume suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/90clock resume suspend:    
    /usr/lib/pm-utils/sleep.d/90clock resume suspend: not applicable.    
    
    Running hook /usr/lib/pm-utils/sleep.d/75modules resume suspend:    
    Reloaded unloaded modules.    
    /usr/lib/pm-utils/sleep.d/75modules resume suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/60_wpa_supplicant resume suspend:    
    Selected interface 'p2p-dev-wlan0'    
    OK    
    /usr/lib/pm-utils/sleep.d/60_wpa_supplicant resume suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/50unload_alx resume suspend:    
    /usr/lib/pm-utils/sleep.d/50unload_alx resume suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/40inputattach resume suspend:    
    /usr/lib/pm-utils/sleep.d/40inputattach resume suspend: success.    
    
    Running hook /etc/pm/sleep.d/10_unattended-upgrades-hibernate resume suspend:    
    /etc/pm/sleep.d/10_unattended-upgrades-hibernate resume suspend: success.    
    
    Running hook /etc/pm/sleep.d/10_grub-common resume suspend:    
    /etc/pm/sleep.d/10_grub-common resume suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/00powersave resume suspend:    
    /usr/lib/pm-utils/sleep.d/00powersave resume suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/00logging resume suspend:    
    /usr/lib/pm-utils/sleep.d/00logging resume suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/000record-status resume suspend:    
    /usr/lib/pm-utils/sleep.d/000record-status resume suspend: success.    
    
    Running hook /usr/lib/pm-utils/sleep.d/000kernel-change resume suspend:    
    /usr/lib/pm-utils/sleep.d/000kernel-change resume suspend: success.    
    
    Wed Feb 15 22:38:19 EST 2017: Finished.
    
  • 共有3个答案

    满玉泽
    2023-03-14

    潜在解决方案:我怀疑这种行为是由电源管理器引起的。使用dconf编辑器,更改架构

    org.gnome.settings-daemon.plugins.power.critical-battery-action
    

    从“关闭”到“暂停”似乎是一种潜在的解决方案/解决方法。就我的实验所知,从上述所有情况中醒来会导致正常恢复。

    我怀疑交流电源的中断会导致来自车载控制器的错误“电池关键”消息,原因不明。可能由于电池随着时间的推移而退化,电压下降到某个阈值以下,就像交流电源在恢复到可接受的值之前被移除一样。

    商骞仕
    2023-03-14

    我遇到了一个类似的问题。一切都很好,但是突然间,我无法通过关闭盖子来暂停我的笔记本电脑。所以每次我都不得不使用菜单暂停它,但是唤醒它不起作用,总是需要重新启动。

    Laptop: Dell Inspiron 15-3567
    kernel: 5.4.0-42-generic x64_86
    

    我尝试了各种方法对我有用的是更改文件

    sudo nano /etc/default/grub
    

    将行更改为此行

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
    
    汤飞
    2023-03-14

    我也有类似的问题。一切都很好,但是突然,当我暂停笔记本电脑时(购买盖子或通过菜单),它会进入睡眠模式,LED闪烁,但是当我唤醒笔记本电脑时,它又重新启动,因为它已经关机了。

    Laptop ASUS ZenBook UX305
    
    Linux 4.13.0-38-generic #43~16.04.1-Ubuntu SMP x86_64
    

    我尝试了很多方法,但没有结果,但有一次我使用CtrlAltF1切换到TTY1并登录,然后退出。之后它又开始工作了。

    此外,我在“sudo vim /etc/默认/grub”中设置了以下设置:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_sleep=nonvs intel_pstate=disable"
    

    但是在TTY1之前是不行的。

    问题发生之前发生的变化是:

    • 我忘了带充电器,我用了另一个充电器,原来是19伏,但我用的是20伏
    • 有一次,我的笔记本电脑在暂停过程中挂起,所以我按下并按住电源按钮进行了硬重启
    • 最近,我用“软件更新程序”更新了系统

    我想这可能会帮助一些人。

     类似资料:
    • 问题内容: 哈罗我已经整天调试了我的代码,但是我看不出哪里出了问题。 我在主线程上使用SerialPortEventListener,在工作线程中,我有一个客户端套接字与服务器通信。由于到达此工作线程之后,我仍然需要在主线程中完成一些总结工作,因此我想创建一个“伪线程”,在主线程中等待,直到从侦听器onEvent方法通知它为止。 但是这个伪线程似乎一直在等待。 我检查了锁定的线程,它们在Runna

    • 问题内容: 看到各种与锁定相关的问题,并且(几乎)总是发现“由于虚假唤醒而引起的循环” 1我想知道,有人经历过这种唤醒(例如,假设硬件/软件环境不错)吗? 我知道“虚假”一词没有明显的原因,但是发生此类事件的原因可能是什么? (1注意:我不是在问循环练习。) 编辑:一个帮助器问题(对于那些喜欢代码示例的人): 如果我有以下程序,并且运行它: 我该怎么做才能虚假地唤醒它,而不必永远等待随机事件? 问

    • 下面我们来看看睡眠和醒来的基本模型。假设有两个系统调用作为睡眠和唤醒。呼叫睡眠的过程将被阻止,而调用的过程将被唤醒。 有一个叫做生产者消费者问题的流行例子,它是模拟睡眠和唤醒机制的最流行的问题。 睡眠和觉醒的概念非常简单。如果关键部分不是空的,那么该过程将进入休眠状态。它将被临界区内正在执行的其他进程唤醒,以便进程可以进入临界区。 在生产者消费者问题中,让我们说有两个过程,一个过程写某事,而另一个

    • 休眠与唤醒 [HW,ACPI] acpi_sleep={s3_bios,s3_mode,s3_beep,s4_nohwsig,old_ordering,nonvs,sci_force_enable} ACPI休眠选项。 (1)s3_bios和s3_mode与显卡有关。计算机从S3状态(挂起到内存)恢复时,硬件需要被正确的初始化。这对大多数硬件都不是问题,但因为显 卡是由BIOS初始化的,内核无法获

    • Future 一次polled 就能完成的,并不常见。而多数情况下,Future 需要确保一旦准备好前进,就再次进行轮询(poll) 。而这是通过Waker类型,辅助完成的。 每次 Future poll 时,都会将其作为“任务(task)”的一部分。任务是已提交给 executor 的顶级 Future 。 Waker提供一个wake()方法,它可以用来告诉 executor,应该唤醒的相关任务

    • 本文向大家介绍HTML5如何唤醒APP?相关面试题,主要包含被问及HTML5如何唤醒APP?时的应答技巧和注意事项,需要的朋友参考一下 有以下几种方式 URL Scheme:最常见 Intent: // :Android Universal Link : iOS, 通过传统的 HTTP 链接即可打开 APP 唤醒途径 iframe的src a标签的src window.location 参考资料: