I'd like to comment on the RAM frequency (1333/1600/etc) part. Generally, the best stick is the one that has the ideal combination of:
- lowest timings
- highest frequency
- lowest voltage
- lowest price
- being compatible with your motherboard.
But the first 3 factors are not set in stone. For example, if for the same price, you can get:
- a stick of 1333mhz ram rated at 9-9-9-9 at 1.5V
- a stick of 1600mhz ram rated at 9-9-9-9 at 1.5V
Stick #2 is the better stick here. Because if you "slow it down" to 1333mhz, you may be able to run it at better timings such as 8-8-8-8, or at 9-9-9-9 with a lower voltage, 1.4V perhaps, or just run it at 1333mhz and call it a day. They're practically the same chips, just tested to perform at the stated minimum specs. In other words, don't give up a good sale because it's a 1600mhz stick!
Compatibility is not set in stone either! If a 1600/9-9-9-9 stick doesn't run at this speed on a motherboard, it may actually run fine at 1333/9-9-9-9. Just like the 1333 stick of the same brand would. Of course avoid any stick you know beforehand may not be compatible.
And that is why most RAM default to 1333mhz in the BIOS: for best compatibility. It's often up to the user to configure it optimally (higher frequency, lower timings, or lower voltage) as per the rated specs, if he so desires.
Example
You can use CPU-Z to figure out the rated specs at different frequencies. Below are the specs for my ram module, officially rated 1600mhz, CL-9-9-9-9-24, 1.6V. This JEDEC table is embedded of the RAM chip itself.
As you can see, the official specs match the column for 1600mhz (actually 800mhz, remember DDR stands for double data rate). If I were to run the ram at 1333mhz (666), I could safely set the BIOS to run the RAM at 1.5V instead - in fact I should since anymore is wasted heat. At around 1200mhz, I could safely lower the timings to 8-8-8-8-22.
Now you may ask what timings could this particular ram achieve at 1333mhz and 1.6V? Unfortunately, that falls in the realm of the unknown (or the overclocking). In this case, it would be much safer to buy a chip that guarantees 1333mhz, 8-8-8-8-24 at 1.5V or 1.6V.
The motherboard has a total amount of memory it can support right? So, even if the CPU can handle 32gigs of memory, that doesn't mean the motherboard can handle 32gigs as well right?
You are correct, just because the CPU can support it, doesn't mean the motherboard/chipset can.
I have an Acer Aspire E1-571-6837 laptop, & I've read on different sources that the max memory it can handle is 8GB of DDR3
You read properly. Acer, Kingston, and Crucial all say the same thing: 2 slots, 8GB max. Feel free to try a couple 8GB sticks in there, they probably won't work, but it won't damage anything by trying them.
If it does work, then bonus! :)
Best Answer
There is no easy way to find the maximum amount you can upgrade the RAM to without doing some reading of manuals, opening the computer or using some hardware reporting software.
There are many limiting factors on how much RAM you can install and use. Main ones are:
Motherboard: Physically, the number of free RAM slots Logically, the ability of the BIOS and memory controller to detect and address your RAM
Operating system: Windows 7 has imposed artificial limits
Linux doesn't have these sort of arbitrary restrictions.
There is no easier way to tell the maximum type, configuration and amount of RAM that the motherboard will accept without looking up the specifications in the manual.
You can however say that if they are running a 32bit OS and have 4GB of RAM, that they cannot upgrade further without at least first upgrading their OS.
That said, in Linux you can query the BIOS directly. It's not 100% accurate (e.g. BIOS might report that it supports 4 DIMM slots but your board may only physically have 2) but will give you a rough idea.
As root, run: