Start JVM with 4G heap size only when running on 64bit machines

We need to fix this so it runs on 32bit machines, because 32bit machine doesn't have 4G memory to address.

"uname -m" is not very consistent across different platforms, but at least we have same bet to start the JVM with 2G memory. On most Linux dists and Mac, "uname -m" reliably outputs "x86_64" on 64-bit machines.