Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I recently added another RAM module and while it is supported by my motherboard I'm not quite sure if it's of the same type as the one my notebook shipped with. How can I tell what RAM modules are used in my pc?

share|improve this question
@the_Seppi As can be seen by the highly OS-specific answer, this really is in effect about Ubuntu. More generally, most people don't want to open their PC and inspect the markings on its RAM, or even look at their boot output or enter their firmware setup. Except on a system that has no installed OS or otherwise won't boot, this task is almost always done from within an installed operating system. – Eliah Kagan Aug 24 '14 at 19:50
@Eliah Kagan But how would anyone add RAM without opening the unit and exposing the slot(s) and the existing RAM? But yes, we might need the full RAM specifications to compare like the OP or to order new or additional RAM. Please don't include judgemental statements like "most people don't want to..." or "this task is almost always done..." – Sri Aug 27 '14 at 2:30
@Sri In this case, the computer has already been opened, modified, and closed. In the more general case, it's very useful to be able to learn the details of your hardware, using software. In any case, I fully stand by the statements I've made here. – Eliah Kagan Aug 27 '14 at 2:38
In my case I was aware that the motherboard needs to accept the module but I wasn't aware that you only get optimum performance if the new module is of the exact same type as the one already in use so I was looking for a software-way to make sure I'm getting best performance after my upgrade. – H3R3T1K Aug 27 '14 at 7:46
up vote 19 down vote accepted

Use the lshw command with the memory class:

$ sudo lshw -C memory
  # Some things about firmware and caches
       description: System Memory
       physical id: 13
       slot: System board or motherboard
       size: 8GiB
          description: DIMM [empty]
          product: [Empty]
          vendor: [Empty]
          physical id: 0
          serial: [Empty]
          slot: ChannelA-DIMM0
          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.

share|improve this answer
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

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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