Get CPU core voltage values on linux server
Categories:
Monitoring CPU Core Voltage on Linux Servers

Learn how to accurately retrieve and interpret CPU core voltage values on your Linux server using various command-line tools and system interfaces.
Monitoring CPU core voltage is crucial for system stability, overclocking, and diagnosing hardware issues. On Linux systems, this information isn't always directly exposed through a single, simple command. This article will guide you through different methods to access CPU voltage data, explaining the tools and underlying mechanisms involved. Understanding these values can help you ensure your system operates within safe parameters and optimize its performance.
Understanding CPU Voltage Measurement
CPU core voltage (Vcore) is the electrical potential supplied to the processor's core. It directly impacts power consumption, heat generation, and stability. Modern CPUs often use dynamic voltage scaling (DVS) to adjust Vcore based on workload, which makes real-time monitoring essential. The accuracy of voltage readings can vary depending on the sensor, motherboard, and the tool used.
Most Linux systems rely on the lm_sensors
package to interface with hardware monitoring chips. These chips, often from manufacturers like Nuvoton, ITE, or Fintek, provide readings for temperatures, fan speeds, and voltages. Without lm_sensors
, direct access to these values is often not possible from user space.
flowchart TD A[Start Monitoring] --> B{Install lm_sensors?} B -->|No| C[Install lm_sensors] C --> D[Run sensors-detect] D --> E[Reboot (if prompted)] B -->|Yes| D E --> F[Run sensors command] D --> F F --> G{"Identify Vcore Reading"} G --> H[Interpret Values] H --> I[End Monitoring]
General workflow for CPU voltage monitoring on Linux.
Using lm_sensors
for Voltage Readings
The lm_sensors
package is the primary utility for hardware monitoring on Linux. It provides the sensors
command, which displays readings from various hardware sensors, including CPU core voltages. Before you can use it, you might need to install and configure it.
1. Step 1: Install lm_sensors
Open your terminal and install the package using your distribution's package manager.
2. Step 2: Detect Hardware Sensors
Run sensors-detect
to identify the hardware monitoring chips on your motherboard. This command will ask several questions; generally, it's safe to accept the default answers by pressing Enter. It might prompt you to load certain kernel modules or reboot your system.
3. Step 3: Load Kernel Modules (if necessary)
If sensors-detect
suggested loading modules, you can do so manually or reboot your system. A reboot is often the simplest way to ensure all necessary modules are loaded.
4. Step 4: View Sensor Readings
Once configured, simply run the sensors
command to display all detected sensor readings. Look for entries labeled 'Vcore', 'CPU Vcore', or similar under your CPU or motherboard section.
# Install on Debian/Ubuntu
sudo apt update
sudo apt install lm-sensors
# Install on CentOS/RHEL/Fedora
sudo dnf install lm_sensors
# Run sensor detection
sudo sensors-detect
# View sensor readings
sensors
Installation and basic usage of lm_sensors
.
sensors
doesn't show Vcore, your motherboard's sensor chip might not be fully supported, or the voltage rail isn't exposed. Check your motherboard's manual or online forums for specific sensor chip information.Alternative Methods and Considerations
While lm_sensors
is the most common method, there are other ways to get voltage information, though they might be less direct or require specific hardware/software configurations.
Reading from /sys
filesystem
Some systems expose voltage readings directly through the /sys
filesystem, particularly for specific power management units (PMUs) or embedded controllers. These paths are highly hardware-dependent and not standardized.
# Example (path may vary significantly)
cat /sys/class/hwmon/hwmon*/voltage*_input
# Or search for relevant files
find /sys/class/hwmon -name "*voltage*" 2>/dev/null
Attempting to find voltage readings in the /sys
filesystem.
BIOS/UEFI Settings
Your system's BIOS or UEFI firmware typically displays real-time CPU voltage. This is often the most accurate reading as it comes directly from the motherboard's hardware. However, it requires a system reboot and cannot be monitored dynamically from within the OS.