You are not logged in.

#1 2024-01-25 16:46:22

xanderxanderfto
Member
Registered: 2024-01-25
Posts: 4

High Thinpad x270 power consumption

I use Arch (btw) with Hyprland. TLP auto-tune is enabled, auto-cpufreq in power saving mode. Battery life BIOS settings.
Powertop reports for about 6-7W consumption while laptop is idle (wifi on)
https://imgur.com/a/PLSsTeJ
Where to look for the problem?

Offline

#2 2024-01-26 01:39:55

ectospasm
Member
Registered: 2015-08-28
Posts: 273

Re: High Thinpad x270 power consumption

Can you show the output of the Tuneables tab in powertop?  That may tell you if any of the settings are in a Bad state while you're on battery.

Also, can you show the output of the following commands?

# tlp stat
# grep -vP '(^\s*#|^$)' /etc/tlp.conf # if you're using this file
# grep -vRP '(^\s*#|^$)' /etc/tlp.d/*.conf  # if you're using any of these files

I managed to significantly increase my power savings on battery with the following parameters:

MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60
CPU_SCALING_GOVERNOR_ON_AC=performance
CPU_SCALING_GOVERNOR_ON_BAT=powersave
CPU_ENERGY_PERF_POLICY_ON_AC=performance
CPU_ENERGY_PERF_POLICY_ON_BAT=power
PLATFORM_PROFILE_ON_AC=performance
PLATFORM_PROFILE_ON_BAT=low-power
INTEL_GPU_MIN_FREQ_ON_AC=1200
INTEL_GPU_MAX_FREQ_ON_AC=1500
INTEL_GPU_MIN_FREQ_ON_BAT=400
INTEL_GPU_MAX_FREQ_ON_BAT=800
INTEL_GPU_BOOST_FREQ_ON_AC=1500
INTEL_GPU_BOOST_FREQ_ON_BAT=1000
CPU_BOOST_ON_AC=1
CPU_BOOST_ON_BAT=0
CPU_HWP_DYN_BOOST_ON_AC=1
CPU_HWP_DYN_BOOST_ON_BAT=0
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto
AHCI_RUNTIME_PM_ON_AC=on
AHCI_RUNTIME_PM_ON_BAT=auto

If you have an AMDGPU you may need to use different parameters.  But I found that despite what the developer thinks, you really do need to tweak tlp to get the most benefit from it.

Offline

#3 2024-01-26 16:59:09

xanderxanderfto
Member
Registered: 2024-01-25
Posts: 4

Re: High Thinpad x270 power consumption

Thank you for answer. All tuneables are good in powertop (except VW writeback timeout) 
tlp-stat:

 
+++ Configured Settings:
/etc/tlp.conf L0035: TLP_ENABLE="1"
defaults.conf L0007: TLP_WARN_LEVEL="3"
defaults.conf L0008: TLP_PERSISTENT_DEFAULT="0"
defaults.conf L0009: DISK_IDLE_SECS_ON_AC="0"
defaults.conf L0010: DISK_IDLE_SECS_ON_BAT="2"
/etc/tlp.conf L0075: MAX_LOST_WORK_SECS_ON_AC="15"
/etc/tlp.conf L0076: MAX_LOST_WORK_SECS_ON_BAT="60"
/etc/tlp.conf L0135: CPU_ENERGY_PERF_POLICY_ON_AC="performance"
defaults.conf L0014: CPU_ENERGY_PERF_POLICY_ON_BAT="balance_power"
defaults.conf L0015: NMI_WATCHDOG="0"
defaults.conf L0016: DISK_DEVICES="nvme0n1 sda"
defaults.conf L0017: DISK_APM_LEVEL_ON_AC="254 254"
defaults.conf L0018: DISK_APM_LEVEL_ON_BAT="128 128"
defaults.conf L0019: DISK_APM_CLASS_DENYLIST="usb ieee1394"
defaults.conf L0020: DISK_IOSCHED="keep keep"
defaults.conf L0021: SATA_LINKPWR_ON_AC="med_power_with_dipm"
defaults.conf L0022: SATA_LINKPWR_ON_BAT="med_power_with_dipm"
/etc/tlp.conf L0282: AHCI_RUNTIME_PM_ON_AC="on"
/etc/tlp.conf L0283: AHCI_RUNTIME_PM_ON_BAT="auto"
defaults.conf L0025: AHCI_RUNTIME_PM_TIMEOUT="15"
defaults.conf L0026: PCIE_ASPM_ON_AC="default"
defaults.conf L0027: PCIE_ASPM_ON_BAT="default"
defaults.conf L0028: RADEON_DPM_PERF_LEVEL_ON_AC="auto"
defaults.conf L0029: RADEON_DPM_PERF_LEVEL_ON_BAT="auto"
defaults.conf L0030: RADEON_POWER_PROFILE_ON_AC="default"
defaults.conf L0031: RADEON_POWER_PROFILE_ON_BAT="default"
defaults.conf L0032: WIFI_PWR_ON_AC="off"
defaults.conf L0033: WIFI_PWR_ON_BAT="on"
defaults.conf L0034: WOL_DISABLE="Y"
defaults.conf L0035: SOUND_POWER_SAVE_ON_AC="1"
defaults.conf L0036: SOUND_POWER_SAVE_ON_BAT="1"
defaults.conf L0037: SOUND_POWER_SAVE_CONTROLLER="Y"
defaults.conf L0038: BAY_POWEROFF_ON_AC="0"
defaults.conf L0039: BAY_POWEROFF_ON_BAT="0"
defaults.conf L0040: BAY_DEVICE="sr0"
/etc/tlp.conf L0377: RUNTIME_PM_ON_AC="on"
/etc/tlp.conf L0378: RUNTIME_PM_ON_BAT="auto"
defaults.conf L0043: RUNTIME_PM_DRIVER_DENYLIST="mei_me nouveau radeon"
defaults.conf L0044: USB_AUTOSUSPEND="1"
defaults.conf L0045: USB_EXCLUDE_AUDIO="1"
defaults.conf L0046: USB_EXCLUDE_BTUSB="0"
defaults.conf L0047: USB_EXCLUDE_PHONE="0"
defaults.conf L0048: USB_EXCLUDE_PRINTER="1"
defaults.conf L0049: USB_EXCLUDE_WWAN="0"
defaults.conf L0050: RESTORE_DEVICE_STATE_ON_STARTUP="0"
defaults.conf L0051: RESTORE_THRESHOLDS_ON_BAT="0"
defaults.conf L0052: NATACPI_ENABLE="1"
defaults.conf L0053: TPACPI_ENABLE="1"
defaults.conf L0054: TPSMAPI_ENABLE="1"
/etc/tlp.conf L0103: CPU_SCALING_GOVERNOR_ON_AC="performance"
/etc/tlp.conf L0104: CPU_SCALING_GOVERNOR_ON_BAT="powersave"
/etc/tlp.conf L0136: PU_ENERGY_PERF_POLICY_ON_BAT="power"
/etc/tlp.conf L0156: CPU_BOOST_ON_AC="1"
/etc/tlp.conf L0157: CPU_BOOST_ON_BAT="0"
/etc/tlp.conf L0169: CPU_HWP_DYN_BOOST_ON_AC="1"
/etc/tlp.conf L0170: CPU_HWP_DYN_BOOST_ON_BAT="0"
/etc/tlp.conf L0186: PLATFORM_PROFILE_ON_AC="performance"
/etc/tlp.conf L0187: PLATFORM_PROFILE_ON_BAT="low-power"
/etc/tlp.conf L0311: INTEL_GPU_MIN_FREQ_ON_BAT="300"
/etc/tlp.conf L0533: START_CHARGE_THRESH_BAT0="75"
/etc/tlp.conf L0535: STOP_CHARGE_THRESH_BAT0="90"
/etc/tlp.conf L0542: START_CHARGE_THRESH_BAT1="75"
/etc/tlp.conf L0544: STOP_CHARGE_THRESH_BAT1="90"

+++ System Info
System         = LENOVO ThinkPad X270 W10DG 20K5A00KRT
BIOS           = R0IET46W (1.24 )
EC Firmware    = 1.15
OS Release     = Arch Linux
Kernel         = 6.7.0-arch3-1 #1 SMP PREEMPT_DYNAMIC Sat, 13 Jan 2024 14:37:14 +0000 x86_64
/proc/cmdline  = initrd=\intel-ucode.img initrd=\initramfs-linux.img root=PARTUUID=191654bd-07c4-4b01-a960-29d3638a2518 zswap.enabled=0 rw rootfstype=ext4
Init system    = systemd 
Boot mode      = UEFI
Suspend mode   = s2idle [deep]

+++ TLP Status
State          = enabled
RDW state      = not installed
Last run       = 07:50:03 PM, 70 sec(s) ago
Mode           = battery
Power source   = battery

+++ Processor
CPU model      = Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz

/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver    = intel_pstate
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor  = powersave
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors = performance powersave
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq  =   400000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq  =  2400000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq  =   400000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq  =  3000000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference = balance_power [EPP]
/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences = default performance balance_performance balance_power power 

/sys/devices/system/cpu/cpu1..cpu3: omitted for clarity, use -v to show all

/sys/devices/system/cpu/intel_pstate/status            = active
/sys/devices/system/cpu/intel_pstate/min_perf_pct      =  13 [%]
/sys/devices/system/cpu/intel_pstate/max_perf_pct      = 100 [%]
/sys/devices/system/cpu/intel_pstate/no_turbo          =   1
/sys/devices/system/cpu/intel_pstate/hwp_dynamic_boost =   0
/sys/devices/system/cpu/intel_pstate/turbo_pct         =  23 [%]
/sys/devices/system/cpu/intel_pstate/num_pstates       =  27
/sys/module/workqueue/parameters/power_efficient       = Y
/proc/sys/kernel/nmi_watchdog                          = 0

+++ Platform Profile
/sys/firmware/acpi/platform_profile                    = (not available)
/sys/firmware/acpi/platform_profile_choices            = (not available)
/sys/devices/platform/thinkpad_acpi/dytc_lapmode       = (not available)

+++ Temperatures
/proc/acpi/ibm/thermal = 45 -128 0 0 0 0 0 0 [°C]
/proc/acpi/ibm/fan     =     0 [/min]

+++ File System
/proc/sys/vm/laptop_mode               =     2
/proc/sys/vm/dirty_writeback_centisecs =  6000
/proc/sys/vm/dirty_expire_centisecs    =  6000
/proc/sys/vm/dirty_ratio               =    20
/proc/sys/vm/dirty_background_ratio    =    10

+++ Disks
Devices = nvme0n1 sda

/dev/nvme0n1:
  Type       = NVMe
  Disk ID    = nvme-THNSF5256GPUK_TOSHIBA_87HS10VJTR3T
  Model      = THNSF5256GPUK TOSHIBA                   
  Firmware   = 51045KLA
  Temp       = 49 °C
  Scheduler  = [none] mq-deadline kyber bfq (multi queue)

  Runtime PM:
    /sys/block/nvme0n1/device/power/control = auto, autosuspend_delay_ms = (not available)

/dev/sda: not present.

+++ Docks and Device Bays
/sys/devices/platform/dock.0: battery_bay   = battery present

+++ Intel Graphics
/sys/class/drm/card1/device/driver           = i915

/sys/class/drm/card1/power/rc6_enable        =  1 (enabled)
/sys/kernel/debug/dri/1/i915_fbc_status      = FBC disabled: tiling not supported
/sys/module/i915/parameters/enable_psr       = -1 (use per-chip default)

/sys/class/drm/card1/gt_min_freq_mhz         =   300 [MHz]
/sys/class/drm/card1/gt_max_freq_mhz         =  1000 [MHz]
/sys/class/drm/card1/gt_boost_freq_mhz       =  1000 [MHz]
/sys/class/drm/card1/gt_RPn_freq_mhz         =   300 [MHz] (GPU min)
/sys/class/drm/card1/gt_RP0_freq_mhz         =  1000 [MHz] (GPU max)

+++ Wireless
bluetooth = on
nfc       = none (no device)
wifi      = on
wwan      = none (no device)

hci0(btusb)                   : bluetooth, not connected
wlan0(iwlwifi)                : wifi, connected, power management = on

+++ Audio
/sys/module/snd_hda_intel/parameters/power_save            = 1
/sys/module/snd_hda_intel/parameters/power_save_controller = Y

+++ PCIe Active State Power Management
/sys/module/pcie_aspm/parameters/policy = [default] performance powersave powersupersave (using BIOS preferences)

+++ PCIe Runtime Power Management
Enable devices    = (disabled)
Disable devices   = (disabled)
Device denylist   = (disabled)
Driver denylist   = mei_me nouveau radeon

/sys/bus/pci/devices/0000:00:00.0/power/control = auto (0x060000, Host bridge, skl_uncore)
/sys/bus/pci/devices/0000:00:02.0/power/control = auto (0x030000, VGA compatible controller, i915)
/sys/bus/pci/devices/0000:00:14.0/power/control = auto (0x0c0330, USB controller, xhci_hcd)
/sys/bus/pci/devices/0000:00:14.2/power/control = auto (0x118000, Signal processing controller, intel_pch_thermal)
/sys/bus/pci/devices/0000:00:15.0/power/control = auto (0x118000, Signal processing controller, intel-lpss)
/sys/bus/pci/devices/0000:00:15.1/power/control = auto (0x118000, Signal processing controller, intel-lpss)
/sys/bus/pci/devices/0000:00:16.0/power/control = auto (0x078000, Communication controller, mei_me)
/sys/bus/pci/devices/0000:00:1c.0/power/control = auto (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:1c.2/power/control = auto (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:1c.4/power/control = auto (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:1f.0/power/control = auto (0x060100, ISA bridge, no driver)
/sys/bus/pci/devices/0000:00:1f.2/power/control = auto (0x058000, Memory controller, no driver)
/sys/bus/pci/devices/0000:00:1f.3/power/control = auto (0x040300, Audio device, snd_hda_intel)
/sys/bus/pci/devices/0000:00:1f.4/power/control = auto (0x0c0500, SMBus, i801_smbus)
/sys/bus/pci/devices/0000:02:00.0/power/control = auto (0xff0000, Unassigned class [ff00], rtsx_pci)
/sys/bus/pci/devices/0000:03:00.0/power/control = auto (0x028000, Network controller, iwlwifi)
/sys/bus/pci/devices/0000:04:00.0/power/control = auto (0x010802, Non-Volatile memory controller, nvme)

+++ USB
Autosuspend       = enabled
Device allowlist  = (not configured)
Device denylist   = (not configured)
Exclude audio     = enabled
Exclude bluetooth = disabled
Exclude phones    = disabled
Exclude printers  = enabled
Exclude WWAN      = disabled

Bus 001 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms =    0 -- Linux Foundation 2.0 root hub (hub)
Bus 001 Device 002 ID 8087:0a2b control = auto, autosuspend_delay_ms = 2000 -- Intel Corp. Bluetooth wireless interface (btusb)
Bus 002 Device 001 ID 1d6b:0003 control = auto, autosuspend_delay_ms =    0 -- Linux Foundation 3.0 root hub (hub)

+++ Battery Care
Plugin: thinkpad
Supported features: charge thresholds, recalibration
Driver usage:
* natacpi (thinkpad_acpi) = active (charge thresholds, recalibration)
Parameter value ranges:
* START_CHARGE_THRESH_BAT0/1:  0(off)..96(default)..99
* STOP_CHARGE_THRESH_BAT0/1:   1..100(default)

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/class/power_supply/BAT0/manufacturer                   = LGC
/sys/class/power_supply/BAT0/model_name                     = 45N1113
/sys/class/power_supply/BAT0/cycle_count                    =     75
/sys/class/power_supply/BAT0/energy_full_design             =  23480 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  12550 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =   9960 [mWh]
/sys/class/power_supply/BAT0/power_now                      =      0 [mW]
/sys/class/power_supply/BAT0/status                         = Not charging

/sys/class/power_supply/BAT0/charge_control_start_threshold =     75 [%]
/sys/class/power_supply/BAT0/charge_control_end_threshold   =     90 [%]
/sys/class/power_supply/BAT0/charge_behaviour               = [auto] inhibit-charge force-discharge

Charge                                                      =   79.4 [%]
Capacity                                                    =   53.4 [%]

+++ ThinkPad Battery Status: BAT1 (Ultrabay / Slice / Replaceable)
/sys/class/power_supply/BAT1/manufacturer                   = LGC
/sys/class/power_supply/BAT1/model_name                     = 45N1127
/sys/class/power_supply/BAT1/cycle_count                    =    161
/sys/class/power_supply/BAT1/energy_full_design             =  23480 [mWh]
/sys/class/power_supply/BAT1/energy_full                    =  18700 [mWh]
/sys/class/power_supply/BAT1/energy_now                     =  14630 [mWh]
/sys/class/power_supply/BAT1/power_now                      =   4899 [mW]
/sys/class/power_supply/BAT1/status                         = Discharging

/sys/class/power_supply/BAT1/charge_control_start_threshold =     75 [%]
/sys/class/power_supply/BAT1/charge_control_end_threshold   =     90 [%]
/sys/class/power_supply/BAT1/charge_behaviour               = [auto] inhibit-charge force-discharge

Charge                                                      =   78.2 [%]
Capacity                                                    =   79.6 [%]

+++ Charge total                                            =   78.7 [%]

+++ Recommendations
* Install ethtool to disable Wake-on-LAN
* Install smartmontools for disk drive health info
TLP_ENABLE=1
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60
CPU_SCALING_GOVERNOR_ON_AC=performance
CPU_SCALING_GOVERNOR_ON_BAT=powersave
CPU_ENERGY_PERF_POLICY_ON_AC=performance
PU_ENERGY_PERF_POLICY_ON_BAT=power
CPU_BOOST_ON_AC=1
CPU_BOOST_ON_BAT=0
CPU_HWP_DYN_BOOST_ON_AC=1
CPU_HWP_DYN_BOOST_ON_BAT=0
PLATFORM_PROFILE_ON_AC=performance
PLATFORM_PROFILE_ON_BAT=low-power
AHCI_RUNTIME_PM_ON_AC=on
AHCI_RUNTIME_PM_ON_BAT=auto
INTEL_GPU_MIN_FREQ_ON_BAT=300
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto
START_CHARGE_THRESH_BAT0=75
STOP_CHARGE_THRESH_BAT0=90
START_CHARGE_THRESH_BAT1=75
STOP_CHARGE_THRESH_BAT1=90
--------------------------------

Offline

#4 2024-01-26 22:29:12

ectospasm
Member
Registered: 2015-08-28
Posts: 273

Re: High Thinpad x270 power consumption

OK, that looks pretty good.  If powertop doesn't say anything is in the Bad state while you're on battery (except for VM writeback timeout) this may be the best you can do.  I did fiddle with vm.dirty_writeback_centisecs a little bit.  I settled on the values you already have set, and at least while I was testing yesterday I was able to get it to say Good.

If you have an IPS screen you can also try fiddling with the backlight settings, maybe dim the backlight as much as tolerable when you're on battery;  I have an OLED screen so Linux doesn't have that option.  However, after DPMS kicked in while powertop was running, I did see my estimated time on battery jump up to 14 hours or so before coming back down to around 6-7 hours (it is a brand new laptop).

How old are your batteries?  It may be they're just old so no recalibration or anything like that can be done to improve the charge on battery.  You may consider getting a replacement BAT1, unless your x270 Hardware Maintenance Manual also provides a way to replace the BAT0.  I know Lenovo sells replacement parts for a lot of their older hardware;  they also contract with an official third-party vendor which might also have the part(s) you need.

Offline

Board footer

Powered by FluxBB