Exercise: Exploring Battery and Power Management

Using acpi, upower, and Power Profile Tools

A hands-on exercise to inspect detailed battery status and health, and to identify and manage system-wide power profiles using the appropriate command-line utility.
Author

Chuck Nelson

Published

November 16, 2025

1 Purpose

Modern operating systems use sophisticated services to monitor battery health and manage power consumption. This exercise explores the powerful tools available in Fedora for getting detailed battery reports and controlling the system’s power-performance balance. You will use acpi and upower to view status, and then learn to identify which power management service is active on your system (tuned or power-profiles-daemon) and use the correct command-line tool to manage it.

2 What You’ll Accomplish

By the end of this exercise, you will be able to:

  • Use acpi for a quick, human-readable battery status.
  • Use upower to display detailed battery information, including capacity and health.
  • Identify whether tuned or power-profiles-daemon is the active power management service.
  • Use tuned-adm or powerprofilesctl to view and change the system’s power profile.

This exercise maps to the following program and course learning outcomes:

  • Course Learning Outcomes (CLOs):
    • 1. Identify hardware and basic network components: You will query the battery, a critical hardware component, for its status and health.
    • 3. Troubleshoot hardware and basic network components: Checking battery health and power profiles are key steps when diagnosing performance issues or poor battery life.

This exercise develops the following skills, which align with the O*NET SOC Code 15-1232.00 for Computer User Support Specialists.

Learning Objective O*NET KSAs Technologies Used
Inspect and manage power systems via CLI. Knowledge: Computers & Electronics
Skills: Systems Analysis, Troubleshooting, Operations Analysis
acpi, upower, tuned-adm, powerprofilesctl

3 Prerequisites

This exercise requires a running Fedora 42 virtual machine. It is most effective when run on a host machine (like a laptop) that has a battery, as this data will be passed through to the VM.

4 Step-by-Step Guide

Open a terminal window in your Fedora VM to begin.

4.1 Part 1: Basic Status with acpi

The acpi command provides a simple, immediate status report.

  1. Install the tool if it is not already present:

    sudo dnf install -y acpi
  2. Run the verbose command:

    acpi -V

4.2 Part 2: Detailed Reporting with upower

The upower utility provides much more detail than acpi.

  1. Enumerate all power sources upower knows about:

    upower -e
  2. Use the battery’s device path from the previous command to get a detailed report (it will be similar to /org/freedesktop/UPower/devices/battery_BAT0).

    # Replace with your actual battery path
    upower -i /org/freedesktop/UPower/devices/battery_BAT0
  3. Analyze the Output: Note the capacity field. This value represents the battery’s current health compared to its original design.

4.3 Part 3: Identifying and Managing Power Profiles

Fedora uses one of two services to manage power profiles: the newer power-profiles-daemon or the older, more complex tuned. You must first identify which is active on your system and then use the appropriate tool.

  1. Identify the Active Service: Run the following systemctl command. It will print “active” if the service is running, or “inactive” if it is not.

    systemctl is-active tuned

    Based on the output, follow the instructions in the correct tab below.

The tuned service uses the tuned-adm command. It is very powerful and has many profiles for specific server workloads, but we will focus on the basic power-saving profiles.

  1. List Available Profiles:

    tuned-adm list
  2. View the Active Profile:

    tuned-adm active
  3. Set a New Profile: Set the profile to powersave. This requires sudo.

    sudo tuned-adm profile powersave

    Verify the change by running tuned-adm active again.

  4. Return to the Default Profile:

    sudo tuned-adm profile balanced

If tuned was inactive, your system is likely using power-profiles-daemon. This is common on modern Fedora Workstation installs. The tool is powerprofilesctl.

  1. List Available Profiles:

    powerprofilesctl list

    You will see power-saver, balanced, and possibly performance. An asterisk (*) indicates the active profile.

  2. Get the Current Profile:

    powerprofilesctl get
  3. Set a New Profile: Set the profile to power-saver.

    powerprofilesctl set power-saver

    Verify the change by running powerprofilesctl get again.

  4. Return to the Default Profile:

    powerprofilesctl set balanced

In your notebook, record your battery’s health (the capacity value from upower). Also, write down which power management service (tuned or power-profiles-daemon) was active on your system.

5 Reflect and Review

ImportantReflection: 3-2-1

Now that you have completed this exercise, reflect on your experience in your Microsoft Teams Student Notebook:

  • 3 key pieces of information you found in the upower report.
  • 2 different command-line tools for managing power profiles.
  • 1 question you still have about the difference between tuned and power-profiles-daemon.
TipCheck on Learning

Answer these questions in your notebook to solidify your understanding:

  1. What is the key difference between the information provided by acpi and upower?
  2. You are trying to diagnose poor battery life on a laptop. Which value in the upower report is the most important indicator of the battery’s long-term health?
  3. Which power management service was active on your VM? What command would you use to set its profile to powersave?
  4. If upower -e does not list a battery device, what does that likely tell you about the machine you are on?
Back to top