59 unsigned long long result=0;
64 if (-1 == (fd = tor_open_cloexec(
"/proc/meminfo",O_RDONLY,0)))
66 s = read_file_to_str_until_eof(fd, 65536, &file_size);
73 if (sscanf(cp,
"MemTotal: %llu kB\n", &result) != 1)
89 memset(&ms, 0,
sizeof(ms));
90 ms.dwLength =
sizeof(ms);
91 if (! GlobalMemoryStatusEx(&ms))
94 return ms.ullTotalPhys;
96#elif defined(HAVE_SYSCTL) && defined(INT64_HW_MEM)
100 size_t len =
sizeof(memsize);
101 int mib[2] = {CTL_HW, INT64_HW_MEM};
102 if (sysctl(mib,2,&memsize,&len,NULL,0))
107#elif defined(HAVE_SYSCTL) && defined(HW_PHYSMEM)
111 size_t len =
sizeof(memsize);
112 int mib[2] = {CTL_HW, HW_PHYSMEM};
113 if (sysctl(mib,2,&memsize,&len,NULL,0))