Courseiva
SystemPrivileged EXEC

show version

Displays system hardware and software information, including IOS version, uptime, memory, interfaces, and configuration register, used to verify device identity and software compatibility.

Definition: show version is a Cisco IOS privileged exec command. Displays system hardware and software information, including IOS version, uptime, memory, interfaces, and configuration register, used to verify device identity and software compatibility.

Overview

The `show version` command is one of the most fundamental and frequently used commands in Cisco IOS. It provides a comprehensive snapshot of the device's hardware and software identity, including the IOS version, system uptime, hardware model, memory capacities, interface counts, and the configuration register value. This command is essential for verifying device identity, checking software compatibility before upgrades, and understanding the device's capabilities.

The networking concept behind `show version` is device inventory and lifecycle management; it helps engineers confirm they are working on the correct device, ensure the IOS image matches the hardware, and identify potential issues like low memory or long uptime (which may indicate a need for a reboot). You would reach for `show version` when starting a troubleshooting session to baseline the device, before applying a new configuration to verify the platform supports the features, or after an upgrade to confirm the new image loaded correctly. Alternatives like `show inventory` provide more detailed hardware component information, while `show running-config` focuses on configuration. `show version` is unique in its concise yet comprehensive overview.

In terms of IOS behavior, the output is buffered and can be lengthy; use the `|` pipe to filter (e.g., `show version | include uptime`). The command requires privileged EXEC mode (enable) and has no impact on the running configuration. It is safe to run at any time.

Understanding `show version` is critical for CCNA and CCNP candidates as it appears in many exam scenarios and real-world troubleshooting workflows. The command also reveals the configuration register, which controls boot behavior (e.g., 0x2102 for normal boot, 0x2142 to bypass startup config). This is vital for password recovery and troubleshooting boot issues.

Overall, `show version` is the first command to run when you need to know exactly what device you are working with and its current state.

Syntax·Privileged EXEC
show version

When to Use This Command

  • Check the IOS version and feature set before upgrading or troubleshooting.
  • Verify device uptime to confirm when it last rebooted.
  • Determine the amount of DRAM and flash memory for capacity planning.
  • Check the configuration register value to understand boot behavior.

Command Examples

Basic show version output

show version
Cisco IOS Software, C1900 Software (C1900-UNIVERSALK9-M), Version 15.7(3)M3, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2019 by Cisco Systems, Inc.
Compiled Mon 04-Mar-19 15:32 by prod_rel_team

ROM: System Bootstrap, Version 15.7(1r)M1, RELEASE SOFTWARE (fc1)

Router uptime is 2 weeks, 3 days, 14 hours, 22 minutes
System returned to ROM by power-on
System image file is "flash0:c1900-universalk9-mz.SPA.157-3.M3.bin"
Last reload type: Normal Reload


This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.

A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html

If you require further assistance please contact us by sending email to
export@cisco.com.

Cisco CISCO1941/K9 (revision 1.0) with 487424K/49152K bytes of memory.
Processor board ID FTX1636848Z
2 Gigabit Ethernet interfaces
2 Serial interfaces
1 Virtual Private Network (VPN) Module
DRAM configuration is 64 bits wide with parity enabled.
255K bytes of non-volatile configuration memory.
250880K bytes of ATA System CompactFlash 0 (Read/Write)


License Info:
License UDI:

Device#   PID                   SN
*0        CISCO1941/K9          FTX1636848Z


Technology Package License Information for Module:'c1900'
-----------------------------------------------------------------
Technology Technology-package              Technology-package
Current       Type               Next reboot
------------------------------------------------------------------
ipbase        ipbasek9           Permanent     ipbasek9
security      securityk9         Permanent     securityk9
uc            uck9               Permanent     uck9
data          datak9             Permanent     datak9


Configuration register is 0x2142 (will be 0x2102 at next reload)

Line 1: IOS version and release information. Line 2-4: support and copyright. Line 6: ROM version. Line 8: system uptime. Line 9: reason for last restart (power-on). Line 10: location of the IOS image file. Line 11: last reload type. Lines 13-20: cryptographic export notice. Line 22: model and revision, memory split (DRAM/Flash). Line 23: processor board ID. Line 24: interface count. Line 25: serial interfaces. Line 26: VPN module. Line 27: DRAM width and parity. Line 28: NVRAM size. Line 29: CompactFlash size. Lines 31-35: license UDI. Lines 37-44: technology package licenses and their types (Permanent). Line 46: configuration register value (current and next reload).

Show version with different uptime and memory

show version
Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 15.2(4)E7, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2018 by Cisco Systems, Inc.
Compiled Thu 26-Jul-18 14:12 by prod_rel_team

ROM: Bootstrap program is C2960 boot loader

Switch uptime is 1 hour, 5 minutes
System returned to ROM by power-on
System image file is "flash:c2960-lanbasek9-mz.152-4.E7.bin"
Last reload type: Normal Reload


This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.

A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html

If you require further assistance please contact us by sending email to
export@cisco.com.

cisco WS-C2960+24TC-L (PowerPC405) processor (revision F0) with 65536K/8192K bytes of memory.
Processor board ID FOC1234X5Y6
Last reset from power-on
1 Virtual Ethernet interface
24 FastEthernet interfaces
2 Gigabit Ethernet interfaces

The password-recovery mechanism is enabled.

64K bytes of flash-simulated non-volatile configuration memory.
Base ethernet MAC Address       : 00:1C:58:AB:CD:EF
Motherboard assembly number     : 73-12345-06
Power supply part number        : 341-0123-01
Motherboard serial number       : FOC12345678
Power supply serial number      : DTH1234567
Model revision number           : F0
Motherboard revision number     : A0
Model number                    : WS-C2960+24TC-L
System serial number            : FOC1234X5Y6
Top Assembly Part Number        : 800-12345-01
Top Assembly Revision Number    : A0
Version ID                      : V01
CLEI Code Number                : ABCDEFG
Hardware Board Revision Number  : 0x01


Switch Ports Model              SW Version            SW Image
------ ----- -----              ----------            ----------
*    1 26    WS-C2960+24TC-L    15.2(4)E7            C2960-LANBASEK9-M


Configuration register is 0xF

This is a switch output. Line 1: IOS version for Catalyst 2960. Line 8: uptime is short (1 hour 5 min). Line 10: image file location. Line 22: model and processor, memory split. Line 23: board ID. Line 24: last reset reason. Line 25: virtual Ethernet interface. Line 26: 24 FastEthernet ports. Line 27: 2 Gigabit ports. Line 29: password recovery status. Line 31: NVRAM size. Line 32: base MAC address. Lines 33-44: hardware details. Lines 46-49: summary table of ports, model, SW version, image. Line 51: configuration register (0xF).

Understanding the Output

The show version output provides a snapshot of the device's identity and health. Key fields: IOS version (e.g., 15.7(3)M3) indicates feature set and release; uptime shows how long since last reboot (good for stability assessment); system image file shows the exact IOS filename for upgrade verification; processor and memory details (e.g., 487424K/49152K bytes of memory) indicate DRAM and flash capacity; interface counts confirm hardware configuration; configuration register (e.g., 0x2102) controls boot behavior (0x2102 loads from flash, 0x2142 ignores startup config). For switches, additional hardware details like MAC address and model number are included.

A high uptime suggests stability, while a low uptime may indicate recent issues. The configuration register is critical for password recovery (0x2142) or normal boot (0x2102).

Configuration Scenarios

Verify IOS version and memory before upgrading to a new IOS image

A network engineer needs to upgrade the IOS on a Cisco 4321 router from version 15.5(3)M to 16.9.5. Before downloading the new image, they must confirm the current IOS version, available flash memory, and DRAM to ensure compatibility.

Topology

R1 (Cisco 4321) - standalone

Steps

  1. 1.Step 1: Enter privileged EXEC mode: Router> enable
  2. 2.Step 2: Run show version: Router# show version
  3. 3.Step 3: Note the IOS version (e.g., Cisco IOS Software, C8000v Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 15.5(3)M)
  4. 4.Step 4: Check the total DRAM (e.g., 2097152K bytes) and flash memory (e.g., 4294967296 bytes) to ensure they meet the new image requirements.
  5. 5.Step 5: Verify the hardware model (e.g., Cisco 4321) and serial number for asset tracking.
Configuration
! No configuration changes are made; this is a verification step.
Router# show version

Verify: The output should show the current IOS version, memory, and hardware. For example: Cisco IOS Software, C8000v Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 15.5(3)M, RELEASE SOFTWARE ... cisco 4321 (1RU) processor with 2097152K/6144K bytes of memory. ... Configuration register is 0x2102

Watch out: A common mistake is to assume the flash memory shown in 'show version' is the free space; it actually shows total flash. Use 'show flash:' to see available space.

Troubleshoot a device that is not booting correctly by checking the configuration register

A router is booting but not loading the startup configuration. The engineer suspects the configuration register is set to 0x2142 (ignore startup config) instead of the default 0x2102. They use show version to verify the register value.

Topology

R1 - standalone

Steps

  1. 1.Step 1: Access the router via console and enter privileged EXEC mode.
  2. 2.Step 2: Run show version: Router# show version
  3. 3.Step 3: Look for the line 'Configuration register is 0x2142'.
  4. 4.Step 4: If it shows 0x2142, change it to 0x2102: Router(config)# config-register 0x2102
  5. 5.Step 5: Reload the router: Router# reload
Configuration
! Change the configuration register to normal boot
Router(config)# config-register 0x2102
Router(config)# end
Router# reload

Verify: After reload, run show version again and confirm 'Configuration register is 0x2102'. The router should now load the startup configuration.

Watch out: A common mistake is forgetting to save the configuration after changing the register; the change takes effect only after reload, but the register value is stored in NVRAM and does not require 'write memory'.

Troubleshooting with This Command

When troubleshooting, `show version` is often the first command to run because it establishes the device's identity and state. Healthy output shows a recent uptime (e.g., 'uptime is 2 weeks, 3 days'), sufficient memory (e.g., '2097152K bytes of memory'), and a normal configuration register (0x2102). Problem indicators include: a very long uptime (e.g., >1 year) suggesting the device hasn't been rebooted for maintenance; low memory (e.g., 'processor memory: 50000K/65536K') which can cause performance issues; a configuration register of 0x2142 indicating the startup config is ignored; or an unexpected IOS version that may be incompatible with the hardware.

Specific fields to focus on: 'System image file' shows the exact IOS file being used; 'cisco model number' confirms the platform; 'processor board ID' is the serial number for asset tracking; 'DRAM configuration' shows total memory; 'Flash memory' shows total flash. Common symptoms: if the device is slow, check memory; if features are missing, check IOS version; if the device boots to a blank config, check the config register. A step-by-step diagnostic flow: 1) Run `show version` and note the IOS version and uptime. 2) If uptime is very high, plan a maintenance window for reboot. 3) If memory is low, check for memory leaks with `show processes memory`. 4) If the config register is not 0x2102, investigate why (e.g., password recovery). 5) Correlate with `show running-config` to see if the configuration matches expectations.

For example, if `show version` shows IOS 15.5 but you need OSPFv3, verify the feature set. Also, use `show version | include uptime` to quickly see uptime. In a multi-device environment, compare `show version` outputs to ensure consistent IOS versions across similar devices.

The command is also useful for verifying that a device has enough memory for a new feature, such as MPLS or BGP. Remember that `show version` does not show free flash; use `dir flash:` for that. In summary, `show version` is a powerful first step in any troubleshooting process, providing critical baseline data that guides further investigation.

CCNA Exam Tips

1.

CCNA exam tip 1: Know that the configuration register value 0x2102 means the device loads the startup configuration from NVRAM; 0x2142 bypasses startup config (used for password recovery).

2.

CCNA exam tip 2: The 'System returned to ROM by' field indicates the reason for the last reload (e.g., power-on, reload command, or crash).

3.

CCNA exam tip 3: The IOS image filename includes the platform, feature set, and version; e.g., c1900-universalk9-mz.SPA.157-3.M3.bin — 'universalk9' means universal image with crypto.

4.

CCNA exam tip 4: Memory values (e.g., 487424K/49152K) represent total DRAM and memory used for I/O; the first number is main memory, second is packet memory.

Common Mistakes

Mistake 1: Confusing the configuration register value; 0x2102 is normal, 0x2142 bypasses startup config, not the other way around.

Mistake 2: Misinterpreting the memory split; the first number is total DRAM, not available memory.

Mistake 3: Overlooking the 'Last reload type' field; it can indicate if the reload was normal or due to a crash.

show version vs show running-config

Both show version and show running-config are fundamental show commands executed from privileged EXEC mode, but they serve distinct purposes. Users often confuse them because they both provide essential system information, yet show version focuses on the hardware and software platform while show running-config details the current operational configuration.

Aspectshow versionshow running-config
Data scopeHardware & software infoActive configuration
Output persistenceStatic per boot cycleChanges until saved
Impact on deviceRead-onlyRead-only
Source of dataROM, NVRAM, DRAMDRAM (running config)
Typical useVerify IOS version, uptime, interfacesInspect current settings, debug
Relation to startupShows configuration registerShows config not saved to NVRAM

Use show version when you need to verify the IOS image, system uptime, memory, or configuration register settings for compatibility or troubleshooting.

Use show running-config when you need to examine the active configuration to understand current device behavior or before making changes.

Platform Notes

In IOS-XE (e.g., Catalyst 9000 switches, ISR 4000 routers), the `show version` output is similar but includes additional fields like 'cisco ISR 4451-X (2RU) processor' and 'Technology Package License Level: appxk9'. The command syntax is identical. On NX-OS (e.g., Nexus switches), the equivalent command is `show version` as well, but the output format differs: it shows 'NXOS: version 9.3(5)' and 'Hardware: Cisco Nexus 9000 C93180YC-EX'.

There is no direct ASA equivalent; on ASA firewalls, `show version` also exists and shows ASA software version, hardware model, and uptime, but the output is tailored to firewall features. Between IOS versions, the output has evolved: in 12.x, memory was shown as 'cisco 2811 (MPC860) processor (revision 0x00) with 114688K/16384K bytes of memory'; in 15.x, it changed to 'cisco 4321 (1RU) processor with 2097152K/6144K bytes of memory'; in 16.x (IOS-XE), it includes licensing information. The command exists in IOS-XR (e.g., ASR 9000) as `show version`, but the output is quite different, showing 'Cisco IOS XR Software, Version 6.5.3' and 'System uptime is 1 week 2 days'.

Always verify the exact syntax for your platform; for example, on some older IOS versions, `show version` might not show flash memory, requiring `show flash`. For CCNA/CCNP candidates, knowing these differences is important for multi-vendor or multi-platform environments.

Related Commands

Practice for the CCNA 200-301

Test your knowledge with practice questions covering all CCNA 200-301 exam domains.

Practice CCNA 200-301 Questions