To commemorate the launch of the website, I decided it was time to increase the overkill level on my main server and go far beyond any semblance of sanity. I recently purchased twelve 16 GiB sticks of Samsung DDR3 ECC Registered server memory (192 GiB), which is currently in the server running stability tests. One of the sticks was dead on arrival, but there is still a paltry 180 GiB left. I’m sure a lot of you are questioning my need for that much memory, and to be honest, I don’t need it. I was able to buy it from a friend for a very good price and I was reaching over fifty percent utilization of my existing 64 GiB. This will allow me to run many more virtual machines. I could run an entire Windows AD server and over one hundred Windows 7 clients, if I had the licenses for the latter. Alternatively, I could setup a computing cluster, database cluster, or web server cluster for the simple reason of “because I can”.
There is so much RAM on this system that I found a bug in my normal stability testing program, LinX. It kept reporting that 40 GiB was all that was available on the system and refused to use any more. Instead, I had to do it from the command line. The hard part is figuring out the problem size, which seems like an arbitrary number when you first start using it. Luckily, it is easy to find.
If you need to run Linpack from the command line and need to know the problem size based on the amount of memory in the system, it is actually pretty easy to figure out once you understand what “problem size” is. Linpack creates a matrix that has the same “height” and “width”. Each element in the matrix is 8 bytes (double precision floating point). With this information, you can calculate by doing the following:
Say you have 172,119 MiB free memory:
Multiply by 1024 (to get kilobytes)
Multiply by 1024 (to get bytes)
Divide by 8 (bytes in a double precision floating point variable)
Find the square of the number (to get the number of entries in the matrix)
This gives you 150,199 as the problem size. You wouldn’t want to enter that number, since you will be using exactly all of the RAM. Instead, I put in 150,000, which would use approximately 170 GiB. You can also do that calculation in reverse (flipping the operations) to get how much memory a specific problem size will take.
Enough of this math, let’s see some pictures!