Operations 10 min read

Step‑by‑Step Guide to Inspect All Linux Server System and Hardware Details

This tutorial walks you through the essential Linux commands for retrieving system version, kernel, CPU, memory, disk, network interface details, and reliably distinguishing between physical and virtual servers, providing clear examples and output explanations for each step.

AI Agent Super App
AI Agent Super App
AI Agent Super App
Step‑by‑Step Guide to Inspect All Linux Server System and Hardware Details

1. System and kernel version

Run cat /etc/os-release to view distribution fields such as PRETTY_NAME (e.g., "Ubuntu 22.04.3 LTS"), VERSION_ID ("22.04"), and ID ("ubuntu", "centos", "debian"). The hostnamectl command prints a comprehensive overview including static hostname, operating system, kernel version and architecture.

Execute uname -a for a full kernel line, e.g., "Linux web-server 5.15.0-91-generic #101-Ubuntu SMP x86_64 GNU/Linux". Use uname -r to display only the version number, e.g., "5.15.0-91-generic".

2. CPU information

The lscpu command aggregates CPU data. Key fields are: Architecture: e.g., x86_64 CPU(s): number of logical CPUs (including hyper‑threads) Thread(s) per core: threads per core (2 indicates hyper‑threading) Core(s) per socket: physical cores per socket Socket(s): number of CPU sockets Model name: human‑readable CPU model CPU MHz: current operating frequency Cache L3: size of the L3 cache

Quickly obtain the logical CPU count with nproc. The model name can be shown by cat /proc/cpuinfo | grep 'model name' | head -1.

Real‑time usage is visible with top or the more colorful htop.

3. Memory information

Use free -h to see memory usage. Columns: total: physical memory total used: memory in use (including cache and buffers) free: completely unused memory shared: memory used by tmpfs buff/cache: memory used for buffers and cache available: memory truly available to applications (preferred metric for pressure assessment)

For detailed metrics, run cat /proc/meminfo, which includes MemTotal, MemFree, MemAvailable, Buffers, Cached, SwapTotal, etc.

Physical DIMM sizes are listed with sudo dmidecode -t memory | grep Size, e.g., "Size: 16384 MB" for a 16 GB module.

4. Disk information

Disk usage: df -h shows Filesystem, Size, Used, Avail, Use% and Mounted on.

Block device hierarchy: lsblk displays a tree of disks (e.g., sda) and partitions (e.g., sda1) with mount points.

Physical disk capacity: sudo fdisk -l | grep Disk prints lines such as "Disk /dev/sda: 500 GiB".

I/O performance monitoring requires the sysstat package. Run iostat -x 1 3; a %util value near 100 % indicates an I/O bottleneck.

5. Network interface information

Preferred command: ip addr. Output includes interface name (e.g., eth0), MAC address, IPv4, IPv6 and state (UP/DOWN). Specific NIC details: ip addr show eth0.

Link speed and duplex: sudo ethtool eth0 reports Speed, Duplex and Auto‑negotiation. A quick numeric speed is available via cat /sys/class/net/eth0/speed (e.g., 1000 for 1 Gbps).

Traffic statistics: cat /proc/net/dev or sar -n DEV 1 5 display per‑interface receive (rxKB/s) and transmit (txKB/s) rates.

6. Detecting physical vs. virtual machine

Simple detection: systemd-detect-virt. Return values: none: physical machine kvm, vmware, microsoft, xen, oracle: corresponding hypervisors

Detailed DMI check: sudo dmidecode -s system-product-name. Physical servers show vendor models such as "PowerEdge R740" or "ProLiant DL380"; virtual machines show generic strings like "VMware Virtual Platform" or "OpenStack Nova".

Additional hardware clues:

Disk identifiers: ls /dev/disk/by-id/. Physical disks display vendor/model names (e.g., ata‑HGST_HUS724040ALE640); virtual disks appear as virtio or scsi.

CPU feature list: compare /proc/cpuinfo between known physical and virtual hosts; VMs often lack certain flags.

Baseboard info: sudo dmidecode -t baseboard. Physical machines list specific manufacturers and models; virtual machines show generic identifiers such as "Intel Corporation 440BX Desktop Reference Platform".

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

opsLinuxShellvirtualizationsystem-informationhardware-commands
AI Agent Super App
Written by

AI Agent Super App

AI agent applications, installation, large-model testing, computer fundamentals, IT operations and maintenance exchange, network technology exchange, Linux learning

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.