Hardware Enumeration
List and enumerate hardware components: CPUs, GPUs, TPUs, and useful /proc and /dev commands.
List CPUs
Linux
1# CPU information
2lscpu
3
4# Detailed CPU info
5cat /proc/cpuinfo
6
7# CPU model
8cat /proc/cpuinfo | grep "model name" | uniq
9
10# Number of cores
11nproc
12
13# CPU architecture
14uname -m
15
16# CPU frequency
17cat /proc/cpuinfo | grep MHz
18
19# Current CPU governor
20cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
21
22# Available governors
23cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
24
25# Set performance mode
26echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
Windows
1# CPU information
2Get-WmiObject Win32_Processor | Select-Object Name, NumberOfCores, NumberOfLogicalProcessors, MaxClockSpeed
3
4# Detailed info
5wmic cpu get name,numberofcores,numberoflogicalprocessors,maxclockspeed
6
7# CPU architecture
8echo %PROCESSOR_ARCHITECTURE%
9
10# System info
11systeminfo | findstr /C:"Processor"
List GPUs
Linux
1# PCI devices (includes GPU)
2lspci | grep -i vga
3lspci | grep -i 3d
4lspci | grep -i nvidia
5
6# Detailed GPU info
7lspci -v | grep -A 10 VGA
8
9# NVIDIA GPU
10nvidia-smi
11nvidia-smi -L # List GPUs
12nvidia-smi -q # Detailed query
13
14# AMD GPU
15lspci | grep -i amd
16glxinfo | grep -i "opengl renderer"
17
18# Intel GPU
19lspci | grep -i intel.*graphics
20intel_gpu_top # Monitoring tool
21
22# GPU memory
23cat /sys/class/drm/card0/device/mem_info_vram_total
Windows
1# GPU information
2Get-WmiObject Win32_VideoController | Select-Object Name, AdapterRAM, DriverVersion
3
4# Detailed info
5wmic path win32_VideoController get name,adapterram,driverversion
6
7# NVIDIA
8nvidia-smi.exe
9
10# DirectX info
11dxdiag
List TPUs/Accelerators
Google Coral TPU
1# List USB TPUs
2lsusb | grep "Google"
3
4# Check TPU device
5ls /dev/apex_*
6
7# TPU info (if driver installed)
8cat /sys/class/apex/apex_0/device_type
Intel Neural Compute Stick
1# List USB devices
2lsusb | grep "Movidius"
3
4# OpenVINO detection
5python3 -c "from openvino.inference_engine import IECore; ie = IECore(); print(ie.available_devices)"
NVIDIA Jetson
1# Jetson info
2cat /etc/nv_tegra_release
3
4# GPU info
5tegrastats
6
7# CUDA devices
8nvidia-smi
PCI Devices
1# List all PCI devices
2lspci
3
4# Detailed view
5lspci -v
6
7# Tree view
8lspci -t
9
10# Numeric IDs
11lspci -nn
12
13# Specific device details
14lspci -v -s 00:02.0
15
16# Update PCI database
17sudo update-pciids
USB Devices
1# List USB devices
2lsusb
3
4# Detailed view
5lsusb -v
6
7# Tree view
8lsusb -t
9
10# Specific device
11lsusb -d 046d:c52b
12
13# USB device details
14cat /sys/kernel/debug/usb/devices
15
16# Monitor USB events
17udevadm monitor --subsystem-match=usb
Block Devices (Disks)
1# List block devices
2lsblk
3
4# Detailed disk info
5sudo fdisk -l
6
7# Disk usage
8df -h
9
10# Disk partitions
11cat /proc/partitions
12
13# SMART status
14sudo smartctl -a /dev/sda
15
16# Disk I/O stats
17iostat
18
19# Disk speed test
20sudo hdparm -Tt /dev/sda
Network Interfaces
1# List network interfaces
2ip link show
3
4# Detailed info
5ip addr show
6
7# Interface statistics
8ip -s link
9
10# Wireless interfaces
11iwconfig
12
13# PCI network cards
14lspci | grep -i network
15lspci | grep -i ethernet
16
17# USB network adapters
18lsusb | grep -i network
/proc Commands
CPU & Memory
1# CPU info
2cat /proc/cpuinfo
3
4# Memory info
5cat /proc/meminfo
6
7# Free memory
8free -h
9
10# Load average
11cat /proc/loadavg
12uptime
13
14# Running processes
15cat /proc/[PID]/status
16cat /proc/[PID]/cmdline
System Info
1# Kernel version
2cat /proc/version
3uname -r
4
5# System uptime
6cat /proc/uptime
7
8# Mounted filesystems
9cat /proc/mounts
10
11# Kernel modules
12cat /proc/modules
13lsmod
14
15# Interrupts
16cat /proc/interrupts
17
18# I/O ports
19cat /proc/ioports
20
21# DMA channels
22cat /proc/dma
Process Info
1# Process tree
2pstree
3
4# Process info
5cat /proc/[PID]/status
6cat /proc/[PID]/stat
7cat /proc/[PID]/cmdline
8cat /proc/[PID]/environ
9cat /proc/[PID]/maps # Memory maps
10cat /proc/[PID]/fd/ # Open file descriptors
11
12# All processes
13ls /proc/ | grep -E '^[0-9]+$'
/dev Commands
Device Files
1# List all devices
2ls -l /dev/
3
4# Block devices
5ls -l /dev/sd* # SCSI/SATA disks
6ls -l /dev/nvme* # NVMe disks
7ls -l /dev/mmcblk* # SD cards
8
9# Character devices
10ls -l /dev/tty* # Terminals
11ls -l /dev/input/* # Input devices
12
13# Special devices
14ls -l /dev/null
15ls -l /dev/zero
16ls -l /dev/random
17ls -l /dev/urandom
Device Information
1# Device major/minor numbers
2ls -l /dev/sda
3
4# Device by UUID
5ls -l /dev/disk/by-uuid/
6
7# Device by label
8ls -l /dev/disk/by-label/
9
10# Device by path
11ls -l /dev/disk/by-path/
12
13# Device by ID
14ls -l /dev/disk/by-id/
Hardware Monitoring
1# Temperature sensors
2sensors
3
4# Detect sensors
5sudo sensors-detect
6
7# Watch temperatures
8watch -n 1 sensors
9
10# Fan speeds
11sensors | grep fan
12
13# Voltage
14sensors | grep in
15
16# Power consumption
17sudo powertop
18
19# Battery status
20cat /sys/class/power_supply/BAT0/capacity
21cat /sys/class/power_supply/BAT0/status
22upower -i /org/freedesktop/UPower/devices/battery_BAT0
DMI/SMBIOS Information
1# System information
2sudo dmidecode
3
4# BIOS info
5sudo dmidecode -t bios
6
7# System info
8sudo dmidecode -t system
9
10# Motherboard info
11sudo dmidecode -t baseboard
12
13# CPU info
14sudo dmidecode -t processor
15
16# Memory info
17sudo dmidecode -t memory
18
19# All info types
20sudo dmidecode --type 0 # BIOS
21sudo dmidecode --type 1 # System
22sudo dmidecode --type 2 # Baseboard
23sudo dmidecode --type 4 # Processor
24sudo dmidecode --type 17 # Memory Device
Comprehensive Hardware Report
1# Generate full hardware report
2sudo lshw > hardware-report.txt
3
4# HTML report
5sudo lshw -html > hardware-report.html
6
7# Short format
8sudo lshw -short
9
10# Specific class
11sudo lshw -C network
12sudo lshw -C storage
13sudo lshw -C display
14sudo lshw -C processor
15sudo lshw -C memory
Windows Hardware Enumeration
1# System information
2systeminfo
3
4# Hardware list
5Get-WmiObject Win32_ComputerSystem
6
7# CPU
8Get-WmiObject Win32_Processor
9
10# Memory
11Get-WmiObject Win32_PhysicalMemory
12
13# Disk
14Get-WmiObject Win32_DiskDrive
15
16# GPU
17Get-WmiObject Win32_VideoController
18
19# Network adapters
20Get-WmiObject Win32_NetworkAdapter
21
22# USB devices
23Get-WmiObject Win32_USBControllerDevice
24
25# PCI devices
26Get-WmiObject Win32_PnPEntity
27
28# Device Manager (GUI)
29devmgmt.msc
Kernel Ring Buffer
1# View kernel messages
2dmesg
3
4# Follow kernel messages
5dmesg -w
6
7# Clear ring buffer
8sudo dmesg -c
9
10# Filter by facility
11dmesg --facility=kern
12dmesg --facility=user
13
14# Filter by level
15dmesg --level=err
16dmesg --level=warn
17
18# Human-readable timestamps
19dmesg -T
20
21# Search for device
22dmesg | grep -i usb
23dmesg | grep -i pci
24dmesg | grep -i sda
Related Snippets
- CPU/GPU Undervolting
Reduce CPU/GPU voltage to lower temperatures and power consumption while … - Hardware Random Number Generation
Hardware random number generation using /dev/random, /dev/urandom, and hardware … - Hardware Security
Hardware security features: TPM, Secure Boot, hardware encryption, and security … - Laptop Battery Management
Configure laptop battery charging thresholds to extend battery lifespan. Why … - Windows USB/IP (usbipd)
Share USB devices from Windows to WSL2 or remote machines using usbipd-win. …