G.SKILL Ripjaws X Series 32GB (4 x 8GB) 240-Pin DDR3 SDRAM DDR3 1600 (PC3 12800) Desktop Memory Model F3-1600C9Q-32GXM
32GB becomes 2GB
WARNING: BIOS bug: CPU MTRRs don't cover all of memory, losing 30191MB of RAM.
[ 0.000000] ------------[ cut here ]------------
[ 0.000000] WARNING: at /usr/src/packages/BUILD/kernel-default-2.6.32.12/linux-2.6.32/arch/x86/kernel/cpu/mtrr/cleanup.c:1092 mtrr_trim_uncached_memory+0x2f0/0x34d()
the fix to this mtrr issue was adding
disable_mtrr_trim=1
Testing:
/garlic/apps/stress/bin/stress --vm-bytes 33000000k --vm-keep -m 1
or
/garlic/apps/stress/bin/stress --vm-bytes $(awk '/MemFree/{printf "%d\n", $2 * 0.9;}' < /proc/meminfo)k --vm-keep -m 1
============================================================================
Other way:
I found this solution on nixCraft, I think it makes sense and quicker.
First find out memory site using free command.
# free
total used free shared buffers cached
Mem: 32867436 32574160 293276 0 16652 31194340
-/+ buffers/cache: 1363168 31504268
Swap: 0 0 0
It shows that this server has 32GB memory,
dd if=/dev/urandom bs=32867436 count=1050 of=/home/memtest
free
reports by k and use 1050 is to make sure file memtest is bigger than
physical memory. To get better performance, use proper bs size, for
example 2048 or 4096, depends on your local disk i/o, the rule is to
make bs * count > 32 GB.
run
md5sum /home/memtest; md5sum /home/memtest; md5sum /home/memtest
If you see md5sum mismatch in different run, you have faulty memory guaranteed.
The
theory is simple, the file /home/memtest will cache data in memory by
filling up all available memory during read operation. Using md5sum
command you are reading same data from memory.