public static bool TrySampleHostCpu(out double percentLast5) { var loadInfo = new host_load_info(); int count; unsafe { count = sizeof(host_load_info) / sizeof(int); } int ret = host_statistics(mach_host_self(), HOST_LOAD_INFO, ref loadInfo, ref count); if (ret != KERN_SUCCESS) { percentLast5 = 0; return(false); } percentLast5 = (double)loadInfo.avenrun_5 / 1000; return(true); }
static extern int host_statistics(IntPtr host_priv, int flavor, ref host_load_info host_info_out, ref int host_info_outCnt);