# Hardware Identification and Issues ## Kernel Messages (dmesg) ```bash # View all kernel messages dmesg # With human-readable timestamps dmesg -T # Filter by facility and level dmesg -f kern -l warn # Search for specific info dmesg | grep "Memory" dmesg | grep BOOT_IMAGE # View via journalctl journalctl -k ``` ## CPU Information ```bash # Quick CPU summary lscpu # Key fields: # - Architecture (x86_64) # - CPU(s) - logical cores available # - Thread(s) per core - hyperthreading # - Core(s) per socket # - Socket(s) - physical CPUs # - NUMA node(s) # - Virtualization support (VT-x, AMD-V) # - Cache sizes (L1d, L1i, L2, L3) # - Flags - CPU feature flags ``` ## Memory Information ```bash # Physical memory details (type, speed, location) dmidecode -t memory # Key fields: # - Size (e.g., 8192 MB) # - Form Factor (DIMM, SODIMM) # - Type (DDR3, DDR4) # - Speed (e.g., 1600 MHz) # - Locator (slot name) # Quick memory overview free -h # Detailed memory stats cat /proc/meminfo ``` ## Storage Devices ```bash # List SCSI-compatible devices (SSD, USB, SATA, SAS) lsscsi lsscsi -v # verbose # Detailed disk info hdparm -I /dev/sda # Block device list lsblk # Disk partitions fdisk -l ``` ## PCI and USB Devices ```bash # List PCI devices lspci lspci -v # verbose lspci -vvv # very verbose # List USB devices lsusb lsusb -v # verbose # Device tree lsusb -t ``` ## Hardware Error Reporting (rasdaemon) ```bash # Install and enable yum install rasdaemon systemctl enable --now rasdaemon # View error summary ras-mc-ctl --summary # List all errors ras-mc-ctl --errors # Show corrected/uncorrected counts ras-mc-ctl --error-count # Memory layout ras-mc-ctl --layout # EDAC driver status ras-mc-ctl --status ``` ## Memory Testing (memtest86+) For BIOS systems: ```bash # Install memtest86+ yum install memtest86+ # Setup boot entry memtest-setup # Update GRUB grub2-mkconfig -o /boot/grub2/grub.cfg # Reboot and select memtest86+ from boot menu ``` ## DMI/SMBIOS Information ```bash # All DMI info dmidecode # Specific types dmidecode -t bios dmidecode -t system dmidecode -t baseboard dmidecode -t processor dmidecode -t memory dmidecode -t cache ``` ## System Information Files | File | Contents | |------|----------| | `/proc/cpuinfo` | CPU details per core | | `/proc/meminfo` | Memory statistics | | `/proc/interrupts` | IRQ assignments | | `/proc/ioports` | I/O port assignments | | `/proc/iomem` | Memory-mapped I/O | | `/sys/class/` | Device class info | | `/sys/devices/` | Device topology | ## Quick Hardware Summary Script ```bash #!/bin/bash echo "=== CPU ===" lscpu | grep -E "Model name|Socket|Core|Thread" echo "=== Memory ===" free -h echo "=== Storage ===" lsblk echo "=== Network ===" ip link show echo "=== PCI ===" lspci | grep -E "Network|VGA|Audio" ```