You need to use biosdecode command line utility. Dmidecode is a tool or dumping a computer’s DMI (some say SMBIOS) table contents in a human-readable format.
Tutorial details | |
---|---|
Difficulty | Easy (rss) |
Root privileges | Yes |
Requirements | None |
Time | 1m |
Linux check ram speed and type commands
The procedure is as follows:
- Open the terminal application or log in using ssh command.
- Type the “sudo dmidecode --type 17” command.
- Look out for “Type:” line in the output for ram type and “Speed:” for ram speed.
Let us see all examples and commands in details.
Installation
Use the apt command/apt-get command to install dmidecode on a Debian or Ubuntu Linux:
sudo apt install dmidecode
Fedora Linux user, type the following dnf command:
sudo dnf install dmidecode
CentOS/RHEL/Oracle Linux user, run the following yum command:
sudo yum install dmidecode
SUSE/OpenSUSE user, run the following zypper command:
sudo zypper install dmidecode
How to check ram speed and type on Linux or Unix-like system
Open a shell prompt and type the following command as root user:
$ sudo dmidecode --type 17
OR
$ sudo dmidecode --type 17 | more
Sample output:
# dmidecode 2.9 SMBIOS 2.4 present. Handle 0x0018, DMI type 17, 27 bytes Memory Device Array Handle: 0x0017 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 2048 MB Form Factor: DIMM Set: None Locator: J6H1 Bank Locator: CHAN A DIMM 0 Type: DDR2 Type Detail: Synchronous Speed: 800 MHz (1.2 ns) Manufacturer: 0x2CFFFFFFFFFFFFFF Serial Number: 0x00000000 Asset Tag: Unknown Part Number: 0x5A494F4E203830302D3247422D413131382D Handle 0x001A, DMI type 17, 27 bytes Memory Device Array Handle: 0x0017 Error Information Handle: Not Provided Total Width: Unknown Data Width: Unknown Size: No Module Installed Form Factor: DIMM Set: None Locator: J6H2 Bank Locator: CHAN A DIMM 1 Type: DDR2 Type Detail: None Speed: Unknown Manufacturer: NO DIMM Serial Number: NO DIMM Asset Tag: NO DIMM Part Number: NO DIMM
You can just grep speed (see grep command) and skip all other the details using the following syntax:
dmidecode --type 17 sudo dmidecode -t memory | grep -i speed dmidecode --type 17 | grep -i speed
Sample outputs:
Speed: 1333 MHz (0.8 ns) Speed: 1333 MHz (0.8 ns)
Say hello to lshw
You can use the following command too:
$ sudo lshw -short -C memory
Sample outputs:
/0/0 memory 64KiB BIOS
/0/55/45 memory 1MiB L2 cache
/0/55/46 memory 256KiB L1 cache
/0/55/47 memory 8MiB L3 cache
/0/48 memory 32GiB System Memory
/0/48/0 memory 8GiB SODIMM DDR3 Synchronous 1600 MHz (0.6 ns)
/0/48/1 memory 8GiB SODIMM DDR3 Synchronous 1600 MHz (0.6 ns)
/0/48/2 memory 8GiB SODIMM DDR3 Synchronous 1600 MHz (0.6 ns)
/0/48/3 memory 8GiB SODIMM DDR3 Synchronous 1600 MHz (0.6 ns)
Another outputs from my work laptop:
Finding the frequency and type of my current RAM in Linux
Conclusion
You learned how to find out ram speed and other information using Linux and Unix terminal commands.
🐧 Get the latest tutorials on Linux, Open Source & DevOps via:
- RSS feed or Weekly email newsletter
- Share on Twitter • Facebook • 37 comments... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
lol; i like you’re site and your howto’s very very much. However, now I know I have to follow your stuff with an unknown type of ram, at an unknown speed. lol
seriously, keep up the good work! :D
If only there was a way to see what rank it is too :(.
I’m using Ubuntu 8.10 alpha 3 32bits.
Using dmidecode I get the following results:
jp@jp-desktop810:~$ sudo dmidecode –type 17
[sudo] password for jp:
# dmidecode 2.9
SMBIOS 2.2 present.
Invalid entry length (0). DMI table is broken! Stop.
jp@jp-desktop810:~$ sudo dmidecode –type 17 | more
# dmidecode 2.9
SMBIOS 2.2 present.
Invalid entry length (0). DMI table is broken! Stop.
So, dmidecode is same version, SMBIOS is 2.2 instead of 2.4. And I didn’t get the information from dmidecode.
Juan,
You may need to report bug to Ubuntu team. There is not much we can do to fix this issue.
Mark,
ditto
I get only this:
# dmidecode 2.9
SMBIOS 2.3 present.
and no more info!
Tried both commands.
How can i get info like size, speed, type etc. ?
dmidecode –type memory
This should work as well :)
sajmon,
You can try using the following command combination and see if that works:
dmidecode |grep -A20 ^Memory
Gagan Brahmi,
Thanks, works well. :P
I am using Fedora 9. 2.6.25.14-108.fc9.i686
Intel(R) Pentium(R) 4 CPU 3.00GHz
Here is the dmidecode –type 17 output.
No type and speed info.
# dmidecode 2.9
SMBIOS 2.3 present.
Handle 0x0028, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0027
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 1024 MB
Form Factor: DIMM
Set: None
Locator: A0
Bank Locator: Bank0/1
Type: Unknown
Type Detail: None
Speed: Unknown
Manufacturer: None
Serial Number: None
Asset Tag: None
Part Number: None
Handle 0x0029, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0027
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: Unknown
Size: No Module Installed
Form Factor: DIMM
Set: None
Locator: A1
Bank Locator: Bank2/3
Type: Unknown
Type Detail: None
Speed: Unknown
Manufacturer: None
Serial Number: None
Asset Tag: None
Part Number: None
Handle 0x002A, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0027
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 1024 MB
Form Factor: DIMM
Set: None
Locator: A2
Bank Locator: Bank4/5
Type: Unknown
Type Detail: None
Speed: Unknown
Manufacturer: None
Serial Number: None
Asset Tag: None
Part Number: None
Handle 0x002B, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0027
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: Unknown
Size: No Module Installed
Form Factor: DIMM
Set: None
Locator: A3
Bank Locator: Bank6/7
Type: Unknown
Type Detail: None
Speed: Unknown
Manufacturer: None
Serial Number: None
Asset Tag: None
Part Number: None
What will be the problem?
Is this a white box?? That is what I can make out. Just try the following command to see the server model:
dmidecode –type system
or
dmidecode –type 1
Thanks A Lot for this information
Thank u So Much very useful tips..
Thank You very much. Keep this up.
Many thanks – useful tip!
Awesome dude…
Thanks for the post! This helped me out with a production server I couldn’t turn off. :)
I have the same problem. Speed : Unknown.
Running Ubuntu 9.04.
I get the following:
$ sudo dmidecode –type 17 | more
bash: $: command not found
[root@localhost bob]# demidecode –type 17
bash: demidecode: command not found
[root@localhost bob]# demidecode -type system
bash: demidecode: command not found
You show the command you type as:
[root@localhost bob]# demidecode –type 17
bash: demidecode: command not found
Yet the command should be:
[root@localhost bob]# dmidecode –type 17
Note the misspelling… the command is ‘dmidecode’ not ‘demidecode’.
Hi
Thanks for your good article
Unfortunately dmidecode can not give correct information about my memory!!
I have 4Gig DDR3 but dmideocde can not determine type my ram,and shoe “type= other” and “speed: 667Mhz”.
But speed of my ram is 1333 MHz.
Thanks for nay help or guidance
@nima
DDR = Double Data Rate
so if a clock speed of 667Mhz is displayed the data rate speed is: 1334Mhz
Hi
@munzli
Thanks for your reply
According to wikipedia http://en.wikipedia.org/wiki/Ddr3 :
DDR3 modules can transfer data at a rate of 800–2133 MT/s using both rising and falling edges of a 400–1066 MHz I/O clock. Sometimes, a vendor may misleadingly advertise the I/O clock rate by labeling the MT/s as MHz.
1333 is data rate not clock rate :P
I addition wikipedia web page, there is one good table for comparing.
Thanks again.
Thanks you for you information.
It is very very useful.
^^
Thanks for the tip! Knew this would be out there somewhere for a Linux machine since it can pretty much tell you every thing you want to know about your equipment. Glad there are people to pass on help.
Thanks!
It was very helpful dmicode –type 17
:)
Cheers
1333MHz PC3-1066 DDR3 DIMM Desktop Memory KVR1333D3N9K2/4G (Electronics) I scuuessfclly paired these sticks with Kingston KVR1333D3K2/4GR from another retailer in a dual-channel RAM configuration. So that makes a total of 4 sticks, 8 GB. In order to take advantage of this much memory, I’m running a 64-bit operating system (as opposed to a 32-bit one). These are DDR3 memory sticks, so be sure you have an AM3 motherboard if you like AMD processors, or whatever on the Intel side handles DDR3 if you go for Intel processors.
I typed: sudo dmidecode –type 17
and received information that the speed of my RAM is unknown. Here is the output:
Any ideas would be appreciated?
Superb. Thank you!
awesome man ! great tricks
The ram in one of my workstations shows:
Total Width: 72 bits
Data Width: 64 bits
Type Detail: Synchronous Unbuffered (Unregistered)
I imagine that the 72 vs 64 means it’s ECC but the type detail means “unregistered.”
This seem right?
On SalixOS dmidecode as in the article but with type 16 gave me the maximum amount of RAM that could be installed, handy, as HP’s own support page had misleading info.
Also, dmidecode > /home/usernamedude/Documents/dmi.txt writes a WHOLE LOT OF INFO to a text file in the given path.
Thanks for the article, this was really helpful.
FWIW, this only works on Intel-based Linux. There is no equivalent I could find for my RaspberryPi box.
Yes, but have you tried dmesg output?
Sure, but it’s not quite the same.
CoreFreq shows in a console UI the DRAM CAS & others timings , but also its frequency and the Bus speed, all queried from the chipset.
CoreFreq is on the
dmidecode is notorious for being incorrect, it might be better know but historically it lied, a lot. But there’s a chance you can talk to the eeprom on the dimms directly by using decode-dimms. It’s in the i2c-tools package in Debian. You’ll need to load the eeprom module, but if you BIOS is cool it’ll pass the call through to the RAM itself and you can get the real info. If the BIOS isn’t cool, it’ll block the call and you won’t be able to talk to the chips :-/.