In case we need to know our laptop RAM details without opening system, let’s take a scenario were i need to upgrade my laptop RAM, for same i need to know exact configuration of my installed RAM. i know in my laptop there are two RAM slots and only one is installed and another one is vacant where i can install another RAM to upgrade which will increase system performance. So in this post we will see how Check Ram Speed and Type.

For same we will going to use dmidecode command to dump a computer’s DMI (some say SMBIOS) table contents in a human-readable format. This table contains a description of the system’s hardware components, as well as other useful pieces of information such as serial numbers and BIOS revision. This command is available on Linux/Unix debian based systems.

Setup

I am using Ubuntu machine to collect data with dmidecode, this will also work in RHEL/CentOS Machines.

# lsb_release -d
Description:	Ubuntu 16.04.3 LTS
# uname  -rm
4.4.0-112-generic x86_64

Dmidecode command: RAM Details

we need to open terminal and type below command to collect RAM details
dmidecode –type 17

Below image show how it show Output .

It has all required details for RAM (main memory) of Linux/Unix System like DIMM, Type, Speed which anyone required while order new RAM to upgrade main memory of system.

we can also get other details with dmidecode command with various other types.

# dmidecode --type
dmidecode: option '--type' requires an argument
Type number or keyword expected
Valid type keywords are:
  bios
  system
  baseboard
  chassis
  processor
  memory
  cache
  connector
  slot

So its not important for mentioned number only with type , we can also use exact name of part which we need to know through dmidecode, like we can get detail for Bios what all devices and services supported through bios.

root@jarvis:~# dmidecode -t bios
# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
	Vendor: Dell Inc.
	Version: A10
	Release Date: 01/12/2016
	Address: 0xF0000
	Runtime Size: 64 kB
	ROM Size: 12288 kB
	Characteristics:
		PCI is supported
		PNP is supported
		BIOS is upgradeable
		BIOS shadowing is allowed
		Boot from CD is supported
		Selectable boot is supported
		EDD is supported
		5.25"/1.2 MB floppy services are supported (int 13h)
		3.5"/720 kB floppy services are supported (int 13h)
		3.5"/2.88 MB floppy services are supported (int 13h)
		Print screen service is supported (int 5h)
		8042 keyboard services are supported (int 9h)
		Serial services are supported (int 14h)
		Printer services are supported (int 17h)
		ACPI is supported
		USB legacy is supported
		Smart battery is supported
		BIOS boot specification is supported
		Function key-initiated network boot is supported
		Targeted content distribution is supported
		UEFI is supported
	BIOS Revision: 65.10

Handle 0xF0CB, DMI type 13, 22 bytes
BIOS Language Information
	Language Description Format: Long
	Installable Languages: 1
		en|US|iso8859-1
	Currently Installed Language: en|US|iso8859-1

we could also check Memory and RAM details with lshw command, which will also provide details for RAM and other cache available in machine. For examples , i am trying to check Memory on my lappy which is dell latitude E7250.

root@jarvis:~# lshw   -C memory
  *-firmware                
       description: BIOS
       vendor: Dell Inc.
       physical id: 0
       version: A10
       date: 01/12/2016
       size: 64KiB
       capacity: 11MiB
       capabilities: pci pnp upgrade shadowing cdboot bootselect edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer acpi usb smartbattery biosbootspecification netboot uefi
  *-cache:0
       description: L1 cache
       physical id: 3e
       slot: L1 Cache
       size: 32KiB
       capacity: 32KiB
       capabilities: synchronous internal write-back instruction
       configuration: level=1
  *-cache:1
       description: L2 cache
       physical id: 43
       slot: L2 Cache
       size: 256KiB
       capacity: 256KiB
       capabilities: synchronous internal write-back unified
       configuration: level=2
  *-cache:2
       description: L3 cache
       physical id: 48
       slot: L3 Cache
       size: 4MiB
       capacity: 4MiB
       capabilities: synchronous internal write-back unified
       configuration: level=3
  *-cache
       description: L1 cachesize: 32KiB
       capacity: 32KiB
       capabilities: synchronous internal write-back data
       configuration: level=1
  *-memory
       description: System Memory
       physical id: 52
       slot: System board or motherboard
       size: 16GiB
     *-bank:0
          description: SODIMM DDR3 Synchronous 1600 MHz (0.6 ns)
          product: HMT41GS6BFR8A-PB
          vendor: Hynix/Hyundai
          physical id: 0
          serial: 80A3BA85
          slot: DIMM A
          size: 8GiB
          width: 64 bits
          clock: 1600MHz (0.6ns)
     *-bank:1
          description: SODIMM DDR3 Synchronous 1600 MHz (0.6 ns)
          product: HMT41GS6BFR8A-PB
          vendor: Hynix/Hyundai
          physical id: 1
          serial: A2DAF29E
          slot: DIMM B
          size: 8GiB
          width: 64 bits
          clock: 1600MHz (0.6ns)

we can also make it more readable and fit on one screen.

root@jarvis:~# lshw  -short -C memory
H/W path         Device      Class          Description
=======================================================
/0/0                         memory         64KiB BIOS
/0/4d/3e                     memory         32KiB L1 cache
/0/4d/43                     memory         256KiB L2 cache
/0/4d/48                     memory         4MiB L3 cache
/0/39                        memory         32KiB L1 cache
/0/52                        memory         16GiB System Memory
/0/52/0                      memory         8GiB SODIMM DDR3 Synchronous 1600 MHz (0.6 ns)
/0/52/1                      memory         8GiB SODIMM DDR3 Synchronous 1600 MHz (0.6 ns)

No we know how to collect various hardware details in Linux/Unix machine with dmidecode command, there are various other things which could worked out with same command, refer man dmidecode to get more info on same.