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