public static uint GetTotalMemory()
{
var oldlenp = sizeof (int);
var mib = new[] {CtlHw, HwPhysmem};
uint mem;
sysctl(mib, 2, out mem, ref oldlenp, IntPtr.Zero, 0);
return mem;
}