private static double PercentMemoryUsed() { var wql = new ObjectQuery("SELECT * FROM Win32_OperatingSystem"); var searchResults = new ManagementObjectSearcher(wql).Get(); var resultEnumerator = searchResults.GetEnumerator(); resultEnumerator.MoveNext(); var result = resultEnumerator.Current; var percentMemoryFree = (double)(UInt64)result["FreePhysicalMemory"] / (double)(UInt64)result["TotalVisibleMemorySize"]; var percentMemoryUsed = 1.0 - percentMemoryFree; return percentMemoryUsed; }