How to View Detailed CPU Architecture Using lscpu in Linux

When you are deploying a highly intensive application (like a database server or a virtualization host) onto a bare-metal Linux machine, you must understand the exact physical architecture of your processor. The basic top command might show you 16 CPU graphs, but it will not tell you if you have one processor with 16 physical cores, or two processors with 4 cores each utilizing hyper-threading. To generate a highly detailed, human-readable summary of your server’s exact CPU architecture, you must use the lscpu command.

How to Read the lscpu Output

Unlike many low-level hardware utilities, the lscpu command pulls its data directly from the virtual /proc/cpuinfo file, meaning it does not require administrative sudo privileges to execute.

Simply open your terminal and run:

lscpu

The terminal will instantly output a clean, organized table of data. Here is how to interpret the most critical fields:

  • Architecture: This confirms whether your system is running a 32-bit (i686) or 64-bit (x86_64 or aarch64) kernel.
  • Model name: The exact retail branding of your processor (e.g., Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHz).
  • CPU(s): The total number of logical processing units the operating system thinks it has available. (This is often artificially inflated by hyper-threading).
  • Thread(s) per core: If this number is 2, your processor supports hyper-threading (each physical core is acting like two logical CPUs). If the number is 1, hyper-threading is disabled or unsupported.
  • Core(s) per socket: The actual number of physical silicon cores physically etched into the CPU die.
  • Socket(s): The total number of physical CPU chips physically plugged into the motherboard.

By doing the math (Sockets x Cores x Threads), you can perfectly calculate the total number of logical CPUs available to your system.

Identifying Virtualization Support

If you intend to install virtualization software like KVM, Proxmox, or VirtualBox on this server, the processor must physically support hardware virtualization (VT-x for Intel, AMD-V for AMD), and that feature must be enabled in the BIOS.

You can use lscpu to instantly verify this. Scan the output for the Virtualization: row. If it says VT-x or AMD-V, you are ready to build virtual machines. If the row is missing entirely, or if the “Hypervisor vendor” field explicitly lists something like KVM or VMware, it means you are already inside a virtual machine and cannot easily host nested VMs.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.