Battery drain much higher after deep suspend (not after s2idle suspend) or hibernate

I have a Dell XPS 15 7590, and I’ve noticed that, after the laptop is woken up from suspend, the power consumption is twice as high than after a normal boot.

I used powertop to measure this. After boot, the measured discharge rate is ~10W per hour (which is not great but OK, given that the laptop has a large OLED screen). If I suspend the laptop (in “deep” mode), after resume powertop measures a discharge rate of ~20W per hour. This doesn’t happen if I use the “s2idle” mode for suspension (when resuming the power consumption is the same of startup).

Unfortunately, using suspension in s2idle mode is far from ideal, because the laptop discharges quite quickly (~5.5W per hour) compared to the deep mode. On the other hand, the most efficient suspension mode gives me high battery drain after resume.

I’ve made some attempts to discover what is the source of higher battery usage. It’s like suspension in deep mode erases some configuration applied at startup which saves battery usage. Things I’ve tried:

  • restarting tlp
  • re-switching off the Nvidia GPU (with the script provided by optimus-switch)

But the battery drain is still there. I’m afraid I don’t have many other ideas, as I’m not expert in this. Any suggestion is appreciated.

I have the exact same issue, but only if VLC is running, so have a look at htop if you have the same thing happening…

In my case the solution is super-easy: Close VLC

:think

Thanks for your suggestion but… VLC is not even installed on my machine. I have installed htop but I don’t know exactly what to look at. Apparently there is no process using a lot of CPU – I also looked in the system monitor… but the discharge rate is insanely high (~27W).

That was just an example.

Then my suggestion will be of no help to you.

As you didn’t provide much information, have you tried other kernels yet? (5.4 LTS and 5.10 LTS come to mind)

Also, an inxi --admin --verbosity=7 --filter --no-host --width would be the minimum required information to help you further if even the kernel suggestion above doesn’t provide any solace… (Personally Identifiable Information like serial numbers and MAC addresses will be filtered out by the above command)

:thinking:

The above command gives the following output:

System:
  Kernel: 5.4.100-1-MANJARO x86_64 bits: 64 compiler: gcc v: 10.2.1 
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.4-x86_64 
  root=UUID=e6c4e28c-1714-4aa0-8378-71e34489645d ro quiet 
  cryptdevice=UUID=558055a3-e71d-4692-926f-516ae14a27c3:luks-558055a3-e71d-4692-926f-516ae14a27c3 
  root=/dev/mapper/luks-558055a3-e71d-4692-926f-516ae14a27c3 splash apparmor=1 
  security=apparmor udev.log_priority=3 nvidia-drm.modeset=1 
  acpi_rev_override=5 pcie_port_pm=off libahci.ignore_sss=1 pcie_aspm=force 
  nmi_watchdog=0 resume=/dev/mapper/luks-558055a3-e71d-4692-926f-516ae14a27c3 
  resume_offset=65067008 intel_pstate=disable 
  Desktop: GNOME 3.38.3 tk: GTK 3.24.26 wm: gnome-shell dm: GDM 3.38.2 
  Distro: Manjaro Linux 
Machine:
  Type: Laptop System: Dell product: XPS 15 7590 v: N/A serial: <filter> 
  Chassis: type: 10 serial: <filter> 
  Mobo: Dell model: 018W12 v: A06 serial: <filter> UEFI: Dell v: 1.9.1 
  date: 12/14/2020 
Battery:
  ID-1: BAT0 charge: 53.1 Wh condition: 95.9/97.0 Wh (99%) volts: 11.4/11.4 
  model: LGC-LGC8.33 DELL 5XJ280A type: Li-ion serial: <filter> 
  status: Discharging 
Memory:
  RAM: total: 15.28 GiB used: 6.78 GiB (44.3%) 
  RAM Report: permissions: Unable to run dmidecode. Root privileges required. 
CPU:
  Info: 6-Core model: Intel Core i7-9750H bits: 64 type: MT MCP 
  arch: Kaby Lake note: check family: 6 model-id: 9E (158) stepping: A (10) 
  microcode: DE L2 cache: 12 MiB bogomips: 62431 
  Speed: 900 MHz min/max: 800/2600 MHz boost: disabled Core speeds (MHz): 
  1: 900 2: 900 3: 901 4: 900 5: 901 6: 900 7: 900 8: 900 9: 900 10: 901 
  11: 901 12: 900 
  Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat arch_perfmon art 
  avx avx2 bmi1 bmi2 bts clflush clflushopt cmov constant_tsc cpuid 
  cpuid_fault cx16 cx8 de ds_cpl dtes64 dtherm dts epb ept ept_ad erms est 
  f16c flexpriority flush_l1d fma fpu fsgsbase fxsr ht hwp hwp_act_window 
  hwp_epp hwp_notify ibpb ibrs ida intel_pt invpcid invpcid_single lahf_lm lm 
  mca mce md_clear mmx monitor movbe mpx msr mtrr nonstop_tsc nopl nx pae pat 
  pbe pcid pclmulqdq pdcm pdpe1gb pebs pge pln pni popcnt pse pse36 pti pts 
  rdrand rdseed rdtscp rep_good sdbg sep smap smep ss ssbd sse sse2 sse4_1 
  sse4_2 ssse3 stibp syscall tm tm2 tpr_shadow tsc tsc_adjust 
  tsc_deadline_timer vme vmx vnmi vpid x2apic xgetbv1 xsave xsavec xsaveopt 
  xsaves xtopology xtpr 
  Vulnerabilities: Type: itlb_multihit status: KVM: Split huge pages 
  Type: l1tf 
  mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable 
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable 
  Type: meltdown mitigation: PTI 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, 
  IBRS_FW, STIBP: conditional, RSB filling 
  Type: srbds mitigation: Microcode 
  Type: tsx_async_abort status: Not affected 
Graphics:
  Device-1: Intel UHD Graphics 630 vendor: Dell driver: i915 v: kernel 
  bus ID: 00:02.0 chip ID: 8086:3e9b class ID: 0300 
  Device-2: Microdia Integrated_Webcam_HD type: USB driver: uvcvideo 
  bus ID: 1-12:4 chip ID: 0c45:6723 class ID: 0e02 
  Display: x11 server: X.org 1.20.10 compositor: gnome-shell driver: 
  loaded: modesetting resolution: <missing: xdpyinfo> 
  OpenGL: renderer: Mesa Intel UHD Graphics 630 (CFL GT2) v: 4.6 Mesa 20.3.4 
  direct render: Yes 
Audio:
  Device-1: Intel Cannon Lake PCH cAVS vendor: Dell driver: snd_hda_intel 
  v: kernel alternate: snd_soc_skl,snd_sof_pci bus ID: 00:1f.3 
  chip ID: 8086:a348 class ID: 0403 
  Sound Server: ALSA v: k5.4.100-1-MANJARO 
Network:
  Device-1: Intel Wi-Fi 6 AX200 vendor: Rivet Networks driver: iwlwifi 
  v: kernel port: efa0 bus ID: 3b:00.0 chip ID: 8086:2723 class ID: 0280 
  IF: wlp59s0 state: up mac: <filter> 
  IP v4: <filter> type: dynamic noprefixroute scope: global 
  broadcast: <filter> 
  IP v6: <filter> type: noprefixroute scope: link 
  IF-ID-1: virbr0 state: down mac: <filter> 
  IP v4: <filter> scope: global broadcast: <filter> 
  WAN IP: <filter> 
Bluetooth:
  Device-1: Intel AX200 Bluetooth type: USB driver: btusb v: 0.8 bus ID: 1-4:2 
  chip ID: 8087:0029 class ID: e001 
  Message: Required tool hciconfig not installed. Check --recommends 
RAID:
  Message: No RAID data was found. 
Drives:
  Local Storage: total: 476.94 GiB used: 159.93 GiB (33.5%) 
  SMART Message: Unable to run smartctl. Root privileges required. 
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital 
  model: PC SN730 NVMe WDC 512GB size: 476.94 GiB block size: physical: 512 B 
  logical: 512 B speed: 31.6 Gb/s lanes: 4 rotation: SSD serial: <filter> 
  rev: 11121012 scheme: GPT 
  Message: No Optical or Floppy data was found. 
Partition:
  ID-1: / raw size: 355.94 GiB size: 349.36 GiB (98.15%) 
  used: 159.93 GiB (45.8%) fs: ext4 dev: /dev/dm-0 maj-min: 254:0 
  mapped: luks-558055a3-e71d-4692-926f-516ae14a27c3 label: N/A 
  uuid: e6c4e28c-1714-4aa0-8378-71e34489645d 
  ID-2: /boot/efi raw size: 512 MiB size: 511 MiB (99.80%) 
  used: 500 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p7 maj-min: 259:7 label: N/A 
  uuid: 2591-2869 
Swap:
  Kernel: swappiness: 60 (default) cache pressure: 100 (default) 
  ID-1: swap-1 type: file size: 13 GiB used: 360.4 MiB (2.7%) priority: -2 
  file: /swapfile 
Unmounted:
  ID-1: /dev/nvme0n1p1 maj-min: 259:1 size: 190 MiB fs: vfat label: ESP 
  uuid: 7E50-5B53 
  ID-2: /dev/nvme0n1p2 maj-min: 259:2 size: 128 MiB fs: <superuser required> 
  label: N/A uuid: N/A 
  ID-3: /dev/nvme0n1p3 maj-min: 259:3 size: 101.39 GiB fs: ntfs label: OS 
  uuid: CE604B9C604B89E3 
  ID-4: /dev/nvme0n1p4 maj-min: 259:4 size: 990 MiB fs: ntfs label: WINRETOOLS 
  uuid: C448FD6F48FD611A 
  ID-5: /dev/nvme0n1p5 maj-min: 259:5 size: 16.42 GiB fs: ntfs label: Image 
  uuid: 7AE0FDDEE0FDA095 
  ID-6: /dev/nvme0n1p6 maj-min: 259:6 size: 1.4 GiB fs: ntfs 
  label: DELLSUPPORT uuid: B6B40816B407D7AF 
USB:
  Hub-1: 1-0:1 info: Full speed (or root) Hub ports: 16 rev: 2.0 
  speed: 480 Mb/s chip ID: 1d6b:0002 class ID: 0900 
  Device-1: 1-4:2 info: Intel AX200 Bluetooth type: Bluetooth driver: btusb 
  interfaces: 2 rev: 2.0 speed: 12 Mb/s chip ID: 8087:0029 class ID: e001 
  Device-2: 1-7:3 info: Shenzhen Goodix Fingerprint Reader 
  type: Abstract (modem),CDC-Data driver: cdc_acm interfaces: 2 rev: 2.0 
  speed: 12 Mb/s chip ID: 27c6:5395 class ID: 0a00 serial: <filter> 
  Device-3: 1-12:4 info: Microdia Integrated_Webcam_HD type: Video 
  driver: uvcvideo interfaces: 2 rev: 2.0 speed: 480 Mb/s chip ID: 0c45:6723 
  class ID: 0e02 
  Hub-2: 2-0:1 info: Full speed (or root) Hub ports: 10 rev: 3.1 
  speed: 10 Gb/s chip ID: 1d6b:0003 class ID: 0900 
  Hub-3: 3-0:1 info: Full speed (or root) Hub ports: 2 rev: 2.0 
  speed: 480 Mb/s chip ID: 1d6b:0002 class ID: 0900 
  Hub-4: 4-0:1 info: Full speed (or root) Hub ports: 2 rev: 3.1 speed: 10 Gb/s 
  chip ID: 1d6b:0003 class ID: 0900 
Sensors:
  System Temperatures: cpu: 48.0 C mobo: N/A 
  Fan Speeds (RPM): N/A 
Info:
  Processes: 343 Uptime: 59m wakeups: 5518 Init: systemd v: 247 Compilers: 
  gcc: 10.2.0 Packages: 1610 pacman: 1595 lib: 425 flatpak: 11 snap: 4 
  Shell: Zsh v: 5.8 running in: gnome-terminal inxi: 3.3.01 

I have tried both kernels 510 and 54, and the behaviour is the same. I have tried also to reset the wifi (unload and reload the iwlwifi module), but that doesn’t change anything. Unfortunately, powertop reports a (very) different discharge rate pre- and post- deep suspension, but the details about which process is using energy looks roughly the same. Wake-up from suspend elicits some power usage that powertop is not able to detect. And I don’t know if there are other apps that can do that. To the best of my knowledge, it seems that all apps of this kind look at CPU usage, which doesn’t help in my case.

1 Like

Just to give an idea of how power consuption changes after suspension. You can guess the point at which the laptop was suspended (with deep suspension, let me reiterate, with s2idle suspension this doesn’t happen)

Schermata del 2021-03-01 10-35-38

This is just to confirm that it’s not powertop getting crazy and reporting a discharge that’s not happening.

1 Like

No further bright ideas, your honour.

:sob:

I seem to have solved :crossed_fingers: by doing some cleaning in the /etc/default/grub file. I removed some kernel options that I’d had since the beginning and found out were (at best) unnecessary if not damaging, and replaced with the suggestions found here. So now the line with the kernel options in my /etc/default/grub is as follows:

GRUB_CMDLINE_LINUX_DEFAULT="quiet cryptdevice=UUID=558055a3-e71d-4692-926f-516ae14a27c3:luks-558055a3-e71d-4692-926f-516ae14a27c3 root=/dev/mapper/luks-558055a3-e71d-4692-926f-516ae14a27c3 splash apparmor=1 security=apparmor udev.log_priority=3 enable_fbc=1 enable_psr=1 disable_power_well=0 mem_sleep_default=deep resume=/dev/mapper/luks-558055a3-e71d-4692-926f-516ae14a27c3 resume_offset=65067008"

Energy usage has improved (~5W when the laptop “rests”), and resuming after deep suspension and hibernation doesn’t result in increased power usage. Hurray!

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.