How to Check Hardware Information on a Linux System
Aug 01, 2025 am 06:25 AMTo check hardware on Linux, use built-in command-line tools: 1. Run sudo lshw for comprehensive hardware details or sudo lshw -short for a summary; 2. Use lscpu to view CPU architecture, cores, and frequency; 3. Check RAM with free -h for a quick overview or sudo lshw -class memory for detailed DIMM information; 4. List storage devices via lsblk and inspect disk details with sudo lshw -class disk or sudo smartctl -a /dev/sda for health; 5. Identify network interfaces using ip link show and get driver info with ethtool
Knowing your system’s hardware is essential for troubleshooting, upgrading, or optimizing performance on Linux. Unlike Windows or macOS, Linux offers powerful command-line tools to get detailed hardware information without needing third-party software. Here are the most effective ways to check hardware details on a Linux system.

1. Using lshw
(List Hardware)
lshw
is one of the most comprehensive tools for displaying detailed hardware information.
-
Install it (if not already present):
sudo apt install lshw # Debian/Ubuntu sudo dnf install lshw # Fedora sudo pacman -S lshw # Arch Linux
Run it:
sudo lshw
This outputs a full tree of hardware: CPU, memory, disks, network, graphics, etc.
For a shorter summary:
sudo lshw -short
Export to HTML (useful for reports):
sudo lshw -html > hardware.html
? Tip: Look for the "description", "product", and "size" fields to quickly identify components.
2. Check CPU Information
To get details about your processor:
lscpu
This shows:
- Architecture (x86_64, ARM, etc.)
- CPU model
- Number of cores and threads
- CPU frequency
- Cache sizes
Alternatively, view raw CPU info:
cat /proc/cpuinfo
3. View Memory (RAM) Details
To check installed RAM:
free -h
Shows total, used, and available memory in human-readable format (GB/MB).
For more detail:
sudo lshw -class memory
This includes:
- System RAM size
- BIOS information
- Individual DIMM slots (if supported)
You can also check:
dmidecode -t memory
?? Requires root. Very detailed, including speed, type (DDR4/DDR5), and part numbers.
4. Disk and Storage Information
To list block devices (disks and partitions):
lsblk
Shows drives, partitions, mount points, and sizes.
For more technical details:
sudo lshw -class disk -class storage
Check disk model and health (especially for SATA drives):
sudo hdparm -I /dev/sda | grep "Model"
Or use smartctl
(from smartmontools
) for SSD/HDD health:
sudo smartctl -a /dev/sda
5. Network Hardware
List network interfaces and drivers:
ip link show
Or:
lshw -class network
This shows:
- Interface name (e.g.,
enp3s0
,wlan0
) - MAC address
- Driver in use
- Whether it's up or down
Also useful:
ethtool <interface_name> # e.g., ethtool enp3s0
Shows link speed, duplex mode, and driver info.
6. Graphics (GPU) Information
To check your graphics card:
lspci | grep -i vga
For more detail:
lshw -class display
If you have NVIDIA:
nvidia-smi
(Only if drivers are installed — shows GPU usage, temp, memory, etc.)
For open-source drivers or AMD:
glxinfo | grep "OpenGL renderer"
Install mesa-utils
if needed.
7. USB Devices
List all connected USB devices:
lsusb
For detailed view:
lsusb -v
8. BIOS and Motherboard Info
Use dmidecode
to get low-level system info:
sudo dmidecode -t system # System info (manufacturer, serial, etc.) sudo dmidecode -t bios # BIOS version and release date sudo dmidecode -t baseboard # Motherboard details
? These commands require
sudo
because they read from system firmware tables.
Summary of Key Commands
Hardware | Command |
---|---|
Full system | sudo lshw |
CPU |
lscpu or cat /proc/cpuinfo
|
RAM |
free -h , sudo lshw -class memory
|
Disks |
lsblk , sudo lshw -class disk
|
Network |
ip link , lshw -class network
|
GPU |
lspci \| grep -i vga , lshw -class display
|
USB | lsusb |
BIOS/Mobo |
sudo dmidecode -t bios , sudo dmidecode -t system
|
Most of these tools come preinstalled on major distributions, or are easy to add. You don’t need a GUI — just a terminal. Whether you’re debugging, building a driver, or planning an upgrade, these commands give you full visibility into your Linux system’s hardware.
Basically, once you know a few key tools like lshw
, lscpu
, and dmidecode
, checking hardware becomes quick and reliable.
The above is the detailed content of How to Check Hardware Information on a Linux System. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

To tune MySQL into a Chinese interface, it can be implemented through MySQLWorkbench or command line tools. 1) In MySQLWorkbench, open "Preferences", select the "Appearance" tab, and then select "Chinese(Simplified)" in the "Language" drop-down menu, and restart. 2) When using command line tools, set the operating system locale variables, such as using "exportLANG=zh_CN.UTF-8" on Linux or macOS, and then run the mysql client.

Linux and Windows have their own advantages and disadvantages in CPU and memory usage: 1) Linux uses time slice-based scheduling algorithms to ensure fairness and efficiency; Windows uses priority scheduling, which may cause low-priority processes to wait. 2) Linux manages memory through paging and switching mechanisms to reduce fragmentation; Windows tends to pre-allocate and dynamic adjustment, and efficiency may fluctuate.

Linux's cost of ownership is usually lower than Windows. 1) Linux does not require license fees, saving a lot of costs, while Windows requires purchasing a license. 2) Linux has low hardware requirements and can extend the service life of the device. 3) The Linux community provides free support to reduce maintenance costs. 4) Linux is highly secure and reduces productivity losses. 5) The Linux learning curve is steep, but Windows is easier to use. The choice should be based on specific needs and budget.

LinuxoftenoutperformsWindowsinI/Operformanceduetoitscustomizablekernelandfilesystems,whileWindowsoffersmoreuniformperformanceacrosshardware.1)LinuxexcelswithcustomizableI/OschedulerslikeCFQandDeadline,enhancingperformanceinhigh-throughputapplications

The key to installing dual systems in Linux and Windows is partitioning and boot settings. 1. Preparation includes backing up data and compressing existing partitions to make space; 2. Use Ventoy or Rufus to make Linux boot USB disk, recommend Ubuntu; 3. Select "Coexist with other systems" or manually partition during installation (/at least 20GB, /home remaining space, swap optional); 4. Check the installation of third-party drivers to avoid hardware problems; 5. If you do not enter the Grub boot menu after installation, you can use boot-repair to repair the boot or adjust the BIOS startup sequence. As long as the steps are clear and the operation is done properly, the whole process is not complicated.

The key to enabling EPEL repository is to select the correct installation method according to the system version. First, confirm the system type and version, and use the command cat/etc/os-release to obtain information; second, enable EPEL through dnfinstallepel-release on CentOS/RockyLinux, and the 8 and 9 version commands are the same; third, you need to manually download the corresponding version of the .repo file and install it on RHEL; fourth, you can re-import the GPG key when encountering problems. Note that the old version may not be supported, and you can also consider enabling epel-next to obtain the test package. After completing the above steps, use dnfrepolist to verify that the EPEL repository is successfully added.

Linux usually performs better in web server performance, mainly due to its advantages in kernel optimization, resource management and open source ecosystem. 1) After years of optimization of the Linux kernel, mechanisms such as epoll and kqueue make it more efficient in handling high concurrent requests. 2) Linux provides fine-grained resource management tools such as cgroups. 3) The open source community continuously optimizes Linux performance, and many high-performance web servers such as Nginx are developed on Linux. By contrast, Windows performs well when handling ASP.NET applications and provides better development tools and commercial support.

Newbie users should first clarify their usage requirements when choosing a Linux distribution. 1. Choose Ubuntu or LinuxMint for daily use; programming and development are suitable for Manjaro or Fedora; use Lubuntu and other lightweight systems for old devices; recommend CentOSStream or Debian to learn the underlying principles. 2. Stability is preferred for UbuntuLTS or Debian; you can choose Arch or Manjaro to pursue new features. 3. In terms of community support, Ubuntu and LinuxMint are rich in resources, and Arch documents are technically oriented. 4. In terms of installation difficulty, Ubuntu and LinuxMint are relatively simple, and Arch is suitable for those with basic needs. It is recommended to try it first and then decide.
