157

How shall I find out the frequency and type of my current RAM? My OS is Ubuntu 12.04.

1
229

This should do:

sudo lshw -short -C memory
9
  • 6
    Wait shortly, it will output more. – Malte Skoruppa Dec 15 '13 at 16:28
  • 9
    This doesn't display the frequency. – Braiam Dec 15 '13 at 19:22
  • 7
    It should, and it does for me: on my computer, two of the lines read "4GiB DIMM DDR3 Synchronous 1333 MHz (0.8 ns)" (corresponding to the two RAM slots where I have RAM installed). Did you look closely? – Malte Skoruppa Dec 15 '13 at 20:09
  • 1
    sudo lshw -C memory > info.txt Not sure, it won't display on my terminal, but if I pipe it to a file it shows. – Matt Barnes Dec 18 '13 at 1:24
  • 5
    This did not display the frequency for me in Ubuntu 15.04. Likely hardware dependent. Solution by Henrique worked though. – holocronweaver Apr 21 '15 at 17:30
84

Use the lshw command with the memory class:

$ sudo lshw -C memory
  # Some things about firmware and caches
  *-memory
       description: System Memory
       physical id: 13
       slot: System board or motherboard
       size: 8GiB
     *-bank:0
          description: DIMM [empty]
          product: [Empty]
          vendor: [Empty]
          physical id: 0
          serial: [Empty]
          slot: ChannelA-DIMM0
     *-bank:1
          description: SODIMM DDR3 Synchronous 1600 MHz (0.6 ns)
          product: M471B5273DH0-CK0
          vendor: Samsung
          physical id: 1
          serial: 34A8C7AF
          slot: ChannelA-DIMM1
          size: 4GiB
          width: 64 bits
          clock: 1600MHz (0.6ns)
     # More banks.

As you can see, I'm using DDR3 1600MHz RAM.

Another option is dmidecode:

$ sudo dmidecode -t memory
# dmidecode 2.9
SMBIOS 2.5 present.

Handle 0x003B, DMI type 16, 15 bytes
Physical Memory Array
    Location: System Board Or Motherboard
    Use: System Memory
    Error Correction Type: Multi-bit ECC
    Maximum Capacity: Unknown
    Error Information Handle: Not Provided
    Number Of Devices: 8

Handle 0x003D, DMI type 17, 27 bytes
Memory Device
    Array Handle: 0x003B
    Error Information Handle: Not Provided
    Total Width: 72 bits
    Data Width: 64 bits
    Size: 4096 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM_A1
    Bank Locator: NODE 0 CHANNEL 0 DIMM 0
    Type: Other
    Type Detail: Synchronous
    Speed: 1067 MHz (0.9 ns)
    Manufacturer: 0x0198
    Serial Number: 0xB12A9593
    Asset Tag: Unknown
    Part Number: 9965426-037.A00LF 
# more such devices

This is for a server with ECC memory (as can be seen from the Error Correction Type field and the difference between Data Width and Total Width).

Both tools are dependencies of the ubuntu-standard package and should be available by default on all Ubuntu systems. There used to be another tool called hwinfo, which is no longer available for Ubuntu since 13.10.

4
  • For me too: DDR3 1600 MHz. So does that mean both modules are the same type and I'm getting best performance? – H3R3T1K Aug 24 '14 at 20:17
  • @arno Yes, as far as I can tell. There's also a recommendation that modules should be in parallel banks (0/2/4, 1/3/5, etc.) for best performance - but I don't know if that's myth or fact. – muru Aug 24 '14 at 20:23
  • I am getting this output: Configured Memory Speed: 1600 MT/s. Is this same as 1600 MHz? – Yogi Katba Jun 22 '20 at 12:31
  • 1
    @YogiKatba seems so (at least, looking at linustechtips.com/main/topic/462465-mts-mhz/…) – muru Jun 22 '20 at 12:32
32

I could only get this info with dmidecode, but rather than grepping, it's cleaner to use the right type:

sudo dmidecode --type memory
2
  • 1
    Good answer, and I think this is easier to read:sudo dmidecode -t memory | less -N – user218867 Dec 15 '16 at 12:14
  • This also shows information about the DIMMs being Registered or Unbuffered – Jeremy Hajek Dec 20 '18 at 3:41
23

This will give you all information you may want, probably:

sudo dmidecode | grep -A 15 Memory
4
  • Yes it shows. Mine for exemple is shown as: Speed: 1333 MHz Just after Type Detail. – Henrique Ferreira Dec 15 '13 at 19:44
  • dmidecode returns information from the bios... Maybe you have a problem with your bios... Don't know. – Henrique Ferreira Dec 15 '13 at 20:12
  • This was the only command that shows the frequency of my generic DRAM – McLeary Dec 23 '15 at 12:32
  • Thanks this was the perfect answer for me.I got all the details..:) – john400 Feb 3 '17 at 16:16
15

Try Hard info, for install run in terminal : sudo apt-get install hardinfo It has interface, and it's simple to use. )

1
  • Doesn't work for me, "Memory SPD" stays empty, even after the sudo modprobe eeprom as adviced e.g. here. This is probably due to my Ubuntu having an old version, but prepare to jump through some hoops in the hope that it will work, is all I'm saying. – Maarten Bodewes Nov 7 '20 at 13:35
0

Above answers are correct; I just wanted to add further by piping the output of command to grep for Type and speed.

sudo dmidecode --type memory | grep -m2 Type

FYI: T in Type must be capital.

This might give either Type: DDR4 OR Type: DDR3

for speed use

sudo dmidecode --type memory | grep -m1 Speed

FYI: -m option of grep is used to limit the number of lines; for example -m2 means 2 lines.

1
  • For me it outputs Speed: Unknown. I had to use -m4 to display one line per one ram slot. Now it shows the speeds. – Michal Przybylowicz Nov 22 '20 at 13:29
0

Most of these answers will just give you the nominal clock speed of the memory. It may not be the actual clock speed.

The canonical method is to boot Memtest or if you are so endowed, boot Windows and use CPU-Z.

You can trust BIOS, you can trust Memtest. There are an enormous number of low cost boxes fitted with 1333MHz DDR3 that is actually clocked at 1066MHz. Both DMI decode and LSHW may be deceptive.

0

Install i2c-tools.

Then read the value from the RAM eeprom with:

sudo modprobe eeprom && decode-dimms | grep speed | rev | cut --delimiter=" " --fields=2,3 | rev; sudo modprobe --remove eeprom

The value is returned in MT/s. If you want it in MHz just divide that result by two.

Nevertheless, in rare circumstances, the motherboard can be selecting an inferior speed. For checking that situation access the BIOS or UEFI, as explained in your motherboard manual.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.