How to Check System Resources and Specs on Ubuntu

  • Home
  • Blog
  • How to Check System Resources and Specs on Ubuntu
Ubuntu system information
DateJan 11, 2025

Six commands cover almost everything you’d ever need to know about a Ubuntu machine’s hardware and resource usage — no GUI required, and every one of them works identically over SSH on a remote server. This covers what each one actually shows, the flags worth memorizing, and the one tool that combines all of them into a single readable report.

The Core Commands at a Glance

CommandShowsCommon form
unameKernel, hostname, architecture [1]uname -a
lscpuCPU cores, threads, sockets, cache, model [2]lscpu
freeRAM and swap usage [3]free -h
lsblkDisks, partitions, mount points [4]lsblk -f
dfDisk space used/available per filesystemdf -h
inxiEverything above, combined into one report [5]inxi -Fxz

uname — Identify the System Itself

Run alone, uname just prints the kernel name — not very useful. The flag that matters is -a (--all): it prints “all information, in the following order”: kernel name, network hostname, kernel release, kernel version, machine hardware name, processor type, hardware platform, and operating system [1]. Run uname -a first on any unfamiliar machine — it’s the fastest way to confirm exactly what kernel and architecture you’re actually working with before running anything else.

lscpu — CPU Details Without /proc/cpuinfo

lscpu gathers CPU architecture information from sysfs, /proc/cpuinfo, and architecture-specific libraries, and presents it far more readably than reading /proc/cpuinfo by hand — core count, thread count, sockets, NUMA nodes, cache sizes, model name, and more [2]. Useful flags: -e for a human-readable extended table with customizable columns, and -J for JSON output if you’re feeding the data into a script [2].

free -h — Memory at a Glance

free shows “the total amount of free and used physical and swap memory in the system, as well as the buffers and caches used by the kernel” [3]. Raw byte counts are hard to read at a glance, which is exactly what -h (--human) fixes — it auto-scales every field to the shortest readable unit (Ki, Mi, Gi, Ti) and prints the unit alongside each number [3]. free -h is the fastest way to check whether a server is actually low on RAM or just has a lot cached, which free‘s buffer/cache columns make clear at a glance.

lsblk and df -h — Storage, Two Different Ways

lsblk lists all available block devices in a tree, showing how disks, partitions, and mount points relate to each other [4]. Add -f (--fs) to see filesystem type, UUID, and how full each partition is — equivalent to requesting the columns NAME,FSTYPE,FSVER,LABEL,UUID,FSAVAIL,FSUSE%,MOUNTPOINTS [4]. Where lsblk shows structure, df -h answers the more immediate question — how much space is actually used and free on each mounted filesystem, human-readable.

inxi — All of the Above, One Command

inxi is a full-featured, actively maintained CLI system information tool that covers hardware (disks, GPU, network cards, CPU, RAM), plus drivers, desktop environment, kernel, uptime, and running processes, all in one readable report [5]. It was originally built as a support/debugging tool for forums and IRC, where getting a complete system snapshot in one paste matters [5]. Install it with sudo apt install inxi, then run inxi -Fxz for a full report with extra detail (-x) and sensitive data like serial numbers filtered out (-z) — a good default for pasting into a support request without oversharing hardware identifiers.

Which Command Do You Actually Need?

What do you need to check?

Pick the closest match.

Checking a Rented VPS’s Real Specs

These commands work exactly the same over SSH on a Linux VPS as they do locally, and they’re worth running the moment a new server is provisioned — confirm the CPU core count, RAM, and disk space actually match what you ordered before you assume anything. inxi -Fxz in particular is a good first command to run on any freshly provisioned box, since it surfaces the full picture in one paste if you ever need to share your specs for support.

Frequently Asked Questions

What’s the single best command if I only want to run one?

inxi -Fxz — it combines CPU, RAM, disk, network, and kernel info into one report, filtering out sensitive identifiers like serial numbers [5].

Why does free show less “free” memory than I expect?

Linux uses otherwise-idle RAM for disk caching to speed up future reads, and free reports that separately from truly unused memory [3] — check the “available” column, which accounts for reclaimable cache, rather than the raw “free” column.

Do I need to install anything to use these commands?

uname, lscpu, free, lsblk, and df all ship by default on Ubuntu. Only inxi needs a separate install: sudo apt install inxi.

How do I check disk space specifically, not just total RAM?

Use df -h for used/available space per filesystem, or lsblk -f to see how disks and partitions relate along with their filesystem types [4].

Conclusion

uname -a for identity, lscpu for CPU, free -h for memory, lsblk -f and df -h for storage — five commands, five different angles, all built into Ubuntu already. When you want the whole picture in one shot instead of running five commands, install inxi and run inxi -Fxz.

References

  1. Ubuntu Manpages — “uname(1)” (official) — manpages.ubuntu.com
  2. Ubuntu Manpages — “lscpu(1)” (official) — manpages.ubuntu.com
  3. Ubuntu Manpages — “free(1)” (official) — manpages.ubuntu.com
  4. Ubuntu Manpages — “lsblk(8)” (official) — manpages.ubuntu.com
  5. inxi — official GitHub repository — github.com
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
0
Would love your thoughts, please comment.x
()
x