24 #include <sys/types.h>
25 #include <sys/param.h>
26 #include <sys/resource.h>
27 #include <sys/sched.h>
29 #include <sys/sysctl.h>
50 size_t size =
sizeof(info);
51 int which[] = {CTL_VM, VM_LOADAVG};
55 avg[0] = (double) info.ldavg[0] / info.fscale;
56 avg[1] = (
double) info.ldavg[1] / info.fscale;
57 avg[2] = (double) info.ldavg[2] / info.fscale;
63 char **argsbuf = NULL;
64 size_t argsbuf_size = 100U;
79 mib[1] = KERN_PROC_ARGS;
81 mib[3] = KERN_PROC_ARGV;
82 if (sysctl(mib,
ARRAY_SIZE(mib), argsbuf, &argsbuf_size, NULL, 0) == 0) {
85 if (errno != ENOMEM) {
92 if (argsbuf[0] == NULL) {
115 size_t size =
sizeof(info);
116 int which[] = {CTL_VM, VM_UVMEXP};
121 return (
uint64_t) info.free * sysconf(_SC_PAGESIZE);
127 int which[] = {CTL_HW, HW_PHYSMEM64};
128 size_t size =
sizeof(info);
143 struct kinfo_proc kinfo;
144 size_t page_size = getpagesize();
145 size_t size =
sizeof(
struct kinfo_proc);
150 mib[2] = KERN_PROC_PID;
152 mib[4] =
sizeof(
struct kinfo_proc);
158 *rss = kinfo.p_vm_rssize * page_size;
166 size_t size =
sizeof(info);
167 static int which[] = {CTL_KERN, KERN_BOOTTIME};
180 unsigned int ticks = (
unsigned int)sysconf(_SC_CLK_TCK),
185 int which[] = {CTL_HW,HW_MODEL};
186 int percpu[] = {CTL_KERN,KERN_CPTIME2,0};
191 size =
sizeof(model);
195 which[1] = HW_NCPUONLINE;
196 size =
sizeof(numcpus);
200 *cpu_infos =
uv__malloc(numcpus *
sizeof(**cpu_infos));
207 which[1] = HW_CPUSPEED;
208 size =
sizeof(cpuspeed);
213 for (
i = 0;
i < numcpus;
i++) {
218 cpu_info = &(*cpu_infos)[
i];
227 cpu_info->
speed = cpuspeed;
234 for (j = 0; j <
i; j++)