If I want to add more RAM to my computer, how can I buy something compatible? What kinds are there? How do I determine which kind my computer will accept and how much I can add?
You can use a System Scanner from Crucial to analyse the memory that is present and recommend upgrades.
Although CPU-Z focuses on processors, it also provides detailed info about the RAM for the current computer.
Run it and note down the details in the "Memory" and "SPD" tabs and use that to determine what sort of RAM your system supports.
Note it is Windows only.
The CPU-Z "SPD" (Serial Presence Detect) tab shows you what RAM is currently installed in your computer. Most (all) motherboards support one DDR version only DDR DDR2 DDR3 etc, so you know you will need to buy RAM of the same DDR version.
Each Slot in the dropdown corresponds to a physical slot on the MB (may be empty).
You can normally install various sized RAM modules such as 256MB, 512MB 1024MB, 2048MB in each slot.
However total maximum RAM supported varies by Motherboard. Also, a 32Bit OS such as Windows XP will only be able to utilise up to 4GB of RAM, regardless of how much you install.
You can either look up your motherboard manual online or use a system information tool. Speccy from Priform and Aida32/64 which was previously Everest. These programs will tell you what size, speed/frequncy and specification of RAM you have.
Recent machines will typically have DDR2 or DDR3 RAM, and can come in various shapes, sizes and form factors (RAM for Laptops and micro machines is a smaller size of board). From Wikipedia: Top: DDR2 with heat spreader. Middle: DDR2 without heat spreader, Laptop DDR2, Bottom (OLD) Desktop DDR, Laptop PC-100
When buying RAM you need, as said, to look at Capacity (1, 2, 4, 8GB) number of modules in the kit (1, 2, etc) and the timings.
My motherboard in my desktop at home is an Asus M5A9 R2.0. The manual which came with it (plus the spec sheet on the site, and the box) showed the boards capabilties. It can support up to 32GB of RAM, consisting of 4x 8GB DDR3 RAM modules.
RAM has latency that you have to worry about as well. DDR3 comes in with DDR3-1066 DDR3-1333, DDR3-1600, DDR3-1800, DDR3-1866, DDR3-2000, DDR3-2133, DDR3-2200, DDR3-2250, DDR3-2333, DDR3-2400, DDR3-2600, DDR3-2666 and DDR3-2800, while DDR2 has DDR2-1066, DDR2-400, DDR2-533, DDR2-667 and DDR2-800. The higher the number, the faster the RAM is. Faster RAM tends to be more expensive too. In most cases, I woudln't worry about this too much, buy the same what you already have.
RAM for servers does pretty much the same, although it has a feature called ECC which is Error Checking Code which checks the data to ensure data integrity. Again, this is only used in servers and you woudln't need to buy ECC RAM for a desktop board.
It's important to note that you can't chuck in any mixture of RAM sizes and specs or slots. My aforementioned M5A9 has 4 slots, named 1, 2, 3, and 4 (just for explanation). Machines with dual-channel RAM slots (as mine is) need to be installed in pairs for better performance, so if I had one RAM module, it would go in slot 1. As I have two modules, it goes in 1 and 3 and if I had 4 modules the other two modules would go in 2 and 4. Dual-channel motherboard, with color indication of slots.
Regarding capacity, I don't really know if it's better to have 1x4GB or 2x2GB, or 2x8 or 4x4GB. I suspect it could be "more is better" enabling the RAM to work togteher.
One final thing, especially when you're building your own machine, make sure your RAM isn't too big. My RAM sits in slots 2 and 4 because the heat sinks on my Corsair RAM make it too bit to fit under my CPU heat sink, which means I'll have to buy smaller but identically specced modules if I wanted to buy any more.
PCPartPicker is very good for comparing RAM specs and prices.
Just my two cents as a Linux user:
You can run
dmidecode to get information about your hardware, by default it gives a long output, to get information about memory, one can do:
root@aularon-laptop:~# dmidecode -t memory # dmidecode 2.11 SMBIOS 2.6 present. Handle 0x0003, DMI type 16, 15 bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: None Maximum Capacity: 8 GB Error Information Handle: Not Provided Number Of Devices: 2 Handle 0x0004, DMI type 17, 27 bytes Memory Device Array Handle: 0x0003 Error Information Handle: Not Provided Total Width: Unknown Data Width: Unknown Size: No Module Installed Form Factor: DIMM Set: None Locator: Top-Slot 1(top) Bank Locator: BANK 0 Type: Unknown Type Detail: None Speed: Unknown Manufacturer: Not Specified Serial Number: Not Specified Asset Tag: Unknown Part Number: Not Specified Handle 0x0005, DMI type 17, 27 bytes Memory Device Array Handle: 0x0003 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 4096 MB Form Factor: SODIMM Set: None Locator: Top-Slot 2(under) Bank Locator: BANK 2 Type: DDR3 Type Detail: Synchronous Speed: 1333 MHz Manufacturer: Hynix Serial Number: ******** Asset Tag: Unknown Part Number: HMT35********-H9
As you can see, my laptop has a
Physical Memory Array that is has a max capacity of
8 GB, it has two devices, the first slot is empty, the second has a
4096 MB module installed.
(And btw I just bought another one that is also
1333 MHz DDR3 4 GB, and going to install it now!)
CPU-Z is definitely a good bet. I also use SIW which is a bit more general and gives info about your whole system too:
SIW is an advanced System Information for Windows tool that gathers detailed information about your system properties and settings and displays it in an extremely comprehensible manner.
If you just have the model number of the computer - especially useful when you're upgrading a friend's computer and you can't run a utility to work it out - Kingston's website has a great "Search by Manufacturer" tool that will tell you the exact bank layout of most recent computers and all the constraints (e.g. whether you have to pair the memory). You can then get standard RAM from anywhere that matches the specs; you don't need to get the expensive Kingston system-specific RAM.
Most modern PCs are pretty straightforward physically to put RAM into, except for some netbooks.
Go to kingston.com or apacer.com, they have huge database of computers manufactured and give you compatible module types and sizes for your computer.
It should also be noted that Windows XP cannot* address more than 4GB of memory, so no matter how much you put in beyond that you can only use 4GB worth.
*Sometimes the following command seems to get past the limit;
BCDEdit /set PAE forceenable
This command will only work on XP and Vista, and is apparently disabled on Windows 7.
Many motherboard manuals can be found online, and the RAM specs should be contained within.
Open the case, take out the ram sticks and identify them visually. This might help you get an idea what specs the RAM is (PC3-800 or something like that). It is not the most reliable method, though.