How to Check Laptop Battery Health and Statistics in Ubuntu Using upower

Monitoring laptop battery performance is essential for diagnosing unexpected battery drain, evaluating battery degradation over time, and determining whether hardware replacement is necessary. While Ubuntu provides basic battery percentages and power modes in the top GNOME system panel, it conceals detailed telemetry such as full-charge capacity, design capacity, charge cycles, and discharge rates.

Instead of installing heavy third-party diagnostic software, you can leverage Ubuntu’s built-in upower command-line utility. The UPower daemon manages power devices directly through the Linux kernel and provides an accurate, instantaneous report on your laptop’s battery hardware.

Understanding How Linux Measures Battery Wear

Every rechargeable lithium-ion battery degrades over time due to repeated charge cycles, chemical aging, and thermal stress. The battery’s health is calculated by comparing its current maximum capacity against its original factory design capacity:

  • energy-full-design: The theoretical maximum energy (measured in Watt-hours, Wh) the battery was engineered to store when brand new from the factory.
  • energy-full: The actual maximum energy the battery can hold when charged to 100% in its current physical state.
  • capacity (health percentage): The ratio of energy-full divided by energy-full-design, expressed as a percentage. A battery with a capacity reading of 85% has experienced 15% physical wear.

Step 1: Identify Your Battery Device Path

Before querying battery statistics, you must find the system identifier assigned to your battery by UPower:

  1. Open the Ubuntu Terminal by pressing Ctrl + Alt + T.
  2. Enumerate all connected power devices by executing:
upower -e

The terminal will return a list of power devices recognised by your kernel, similar to the following output:

/org/freedesktop/UPower/devices/line_power_AC
/org/freedesktop/UPower/devices/battery_BAT0
/org/freedesktop/UPower/devices/DisplayDevice

On most laptops, the primary battery is designated as /org/freedesktop/UPower/devices/battery_BAT0 or battery_BAT1. Note down this device path for the next command.

Step 2: Inspect Detailed Battery Statistics with upower

To view comprehensive diagnostic data, pass the device path to the -i (information) flag:

upower -i /org/freedesktop/UPower/devices/battery_BAT0

UPower will output a detailed hardware report. The most important metrics to evaluate include:

  native-path:          BAT0
  vendor:               SMP
  model:                L19M3PF5
  serial:               1248
  power supply:         yes
  updated:              Mon 26 Oct 2026 08:30:12 BST (22 seconds ago)
  has history:          yes
  has statistics:       yes
  battery
    present:             yes
    rechargeable:        yes
    state:               discharging
    warning-level:       none
    energy:              42.15 Wh
    energy-empty:        0 Wh
    energy-full:         51.20 Wh
    energy-full-design:  57.00 Wh
    energy-rate:         6.85 W
    voltage:             11.45 V
    charge-cycles:       184
    time to empty:       6.2 hours
    percentage:          82%
    capacity:            89.82%
    technology:          lithium-polymer
    icon-name:          'battery-full-symbolic'

Interpreting the UPower Diagnostic Data

Evaluating specific fields in this output provides key insights into your laptop’s operational efficiency:

  • capacity: In the example above, the battery is operating at 89.82% of its original design capacity. Anything above 80% is considered healthy. If this value drops below 60%, you will experience significantly reduced untethered runtimes.
  • charge-cycles: Modern laptop batteries typically support 300 to 500 complete charge cycles before capacity noticeably drops below 80%. If supported by your laptop’s embedded controller, this field indicates how many equivalent full cycles have elapsed.
  • energy-rate: Indicates the real-time rate of energy consumption in Watts (W). When running on battery, a lower number means better power efficiency. If your energy rate spikes to 20W or higher during idle desktop use, background processes or GPU wakeups may be draining your charge.
  • time to empty: The estimated runtime remaining based on your current instantaneous energy-rate.

Monitoring Live Power Draw During Troubleshooting

If you suspect an application or browser tab is consuming excessive power, you can continuously monitor the battery discharge rate in real time. Use the watch utility to refresh UPower output every two seconds:

watch -n 2 "upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep -E 'state|energy-rate|percentage|time to empty'"

This displays a live updating summary of your power draw. As you launch or close resource-intensive applications, you can directly correlate workload changes with fluctuations in the energy-rate value.

Using upower gives you native, scriptable, and lightweight access to low-level hardware diagnostics without modifying system configuration or relying on external repositories.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.