从Ubuntu(而非Windows)关闭HP笔记本电脑时的电池耗电


13

我在HP Pavilion 15-CC508NF上使用Ubuntu 16.04 LTS和Windows 10进行了双引导安装。从Windows 10关闭时,电池保持原样,没有放电。但是当我从Ubuntu关闭时,电池每天会损失5%。

我已经安装了TLP软件包,并在以太网卡上禁用了WOL(局域网唤醒)。但是,当笔记本计算机关闭时,电池仍会继续放电-每天占2%。

我认为在计算机关闭时,某些硬件会继续消耗电力。

有什么想法可以确定问题/导致问题的硬件吗?


您是否安装了笔记本电脑模式工具?
塞巴斯蒂安·史塔克

4
您如何关闭计算机(电源按钮,命令行等)?您在问题中提到关机和睡眠。关机,休眠和睡眠都有不同的行为。
杰夫

您如何识别电池差异?难道Ubuntu和Windows会显示不同的充电状态?
罗伯特·里德尔

@sebastien没有安装笔记本电脑模式工具,我可以尝试使用笔记本电脑模式工具包并删除TLP以避免冲突。
yoann_dev '18

@jeff只是关于关机,我将编辑我的问题以澄清这一点。@RobertRiedl我鉴别电池差异感谢TLP包在Ubuntu有:sudo tlp-stat -b。它显示当前的剩余电量(以mAh为单位)和充满电。Windows 10或Ubuntu关闭后,第二天我在Ubuntu上启动以获取剩余费用。
yoann_dev '18

Answers:


6

另一位使用HP Pavilion的用户在一夜之间丢失了10%的电池。显然,LAN唤醒没有BIOS配置,因此他们必须使用以下方法:

$ sudo lshw -class network | grep logical
       logical name: enp59s0
       logical name: wlp60s0

以逻辑开头的名称e是以太网的,表示“ LAN”。开头的逻辑名称w是WiFi无关紧要的。

然后获取以太网/ LAN逻辑名称,并将其传递给ethtool命令:

$ sudo ethtool enp59s0
Settings for enp59s0:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
    Supported pause frame use: Symmetric Receive-only
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
    Advertised pause frame use: Symmetric
    Advertised auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: Unknown
    Current message level: 0x000060e4 (24804)
                   link ifup rx_err tx_err hw wol
    Link detected: yes

在我的情况下,“ Wake on LAN”没有打开,但是如果您显示:

    Wake-on: g

这意味着“ Wake-on-LAN”已打开,就像OP每晚损失`0%的电池一样,每天损失5%的电池。

要关闭所使用的OP的“局域网唤醒”:

sudo ethtool -s enp59s0 wol d
  • 请记住enp59s0用上面步骤1中的逻辑名称代替。
  • wol 代表“局域网唤醒”。
  • d代表disable

ArchLinux撰写了有关Wake-on-LAN的大量文章

为什么要使用“局域网唤醒”?

某些服务器会希望在一夜之间唤醒客户端PC,并在一夜之间在其上安装新程序或更新文件。


USB在Windows中关闭,在Ubuntu中打开

Tom's Hardware用户报告说,当Windows关闭所有USB供电的设备时,将关闭电源。但是,当Ubuntu 16.04关闭时,USB供电的设备仍保持打开状态。

要确认您是否正在发生这种情况,请将USB供电的设备(例如手机或鼠标)连接到所有USB端口,并在Ubuntu关闭计算机时查看它们是否通电。

不太可能的场景

  • 唤醒USB
  • 无线局域网唤醒

查看关机日志

我在suspend系统无法完成过程中遇到的经验。系统恢复后,将完成该过程。您应检查/var/log/syslog/var/log/syslog.1以确保一切均正常关闭并关闭电源。您还可以检查journalctl -b-1一下上一次引导的结束。用journalctl -b看当前引导的开始。

背景:systemd挂起系统,但在恢复内核后进入睡眠和唤醒


感谢您的回答。如我在第一篇文章中所说,我已经禁用了en01接口的WOL,但是修改似乎在重新启动后无法持久...也许是电池问题的原因?我将尝试大量有关ArchLinux的文章。
yoann_dev '18

@yoann_dev过去在双重引导中看到的是Windows驱动程序本身可能会重新打开WoL,因此请在两个OS上都禁用它,然后尝试关闭电源,而不是从一个OS重新引导到另一个OS。
Fabby

@Fabby当您从Windows重新启动以启动grub时,还有一个问题,它有时会完全关闭LAN卡的电源,从而使其对于Ubuntu无效。在这种情况下,您必须从Windows关闭,打开电源,然后启动到Ubuntu。当然,这是罕见的。
WinEunuuchs2Unix

你这么晚做些什么?(在聊天中与我联系)
Fabby

1
@yoann_dev en01可能是通用名称,例如eth0。确保运行sudo lshw -class network | grep logical以确认确切名称。我没有研究tlp此问题的方法,但我鼓励您尝试ethtool使用此答案和所引用的链接。
WinEunuuchs2Unix

0

我可以想象系统仍在运行服务或其他东西。

我建议先查看一下,service --status-all然后确定是否有任何您想停止的内容。您也可以尝试在停止之前全部停止。有一些方法可以在重新启动之前停止服务,因此这可能正是您所需要的。

您还可以在.txt文件中放置服务列表,并使用该列表来停止或启动一组服务。

如果您不是全部采用“一个接一个”的方法,则可以安装一些具有GUI类型界面的工具-sysv-rc-conf或Jobs-Admin之类的工具。它们都为您提供了一个不错的界面来停止和启动服务。第一个在终端中运行,第二个在单独的GUI中运行,据我所知,有些人对“或”有偏见。

希望能有所帮助。老实说,我不知道是否会这样做,因为我假设关闭系统会同时停止运行级别,对吗?但这值得一试。:)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.