added OSX support
parent
b36db49600
commit
aaa16f129c
|
@ -175,16 +175,16 @@ size_t getPrivateMemoryUsage() {
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WINDOWS__)
|
||||||
PROCESS_MEMORY_COUNTERS_EX pmc;
|
PROCESS_MEMORY_COUNTERS_EX pmc;
|
||||||
GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc));
|
GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc));
|
||||||
return (size_t) pmc.PrivateUsage;
|
return (size_t) pmc.PrivateUsage; /* Process-private memory usage (RAM + swap) */
|
||||||
#elif defined(__OSX__)
|
#elif defined(__OSX__)
|
||||||
struct task_basic_info t_info;
|
struct task_basic_info_64 t_info;
|
||||||
mach_msg_type_number_t t_info_count = TASK_BASIC_INFO_COUNT;
|
mach_msg_type_number_t t_info_count = TASK_BASIC_INFO_64_COUNT;
|
||||||
|
|
||||||
if (task_info(mach_task_self(), TASK_BASIC_INFO,
|
if (task_info(mach_task_self(), TASK_BASIC_INFO_64,
|
||||||
(task_info_t)&t_info, &t_info_count) != KERN_SUCCESS)
|
(task_info_t)&t_info, &t_info_count) != KERN_SUCCESS)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/// XXX todo
|
return (size_t) ti.resident_size; /* Not exactly what we want -- oh well.. */
|
||||||
#else
|
#else
|
||||||
FILE* file = fopen("/proc/self/status", "r");
|
FILE* file = fopen("/proc/self/status", "r");
|
||||||
if (!file)
|
if (!file)
|
||||||
|
@ -193,8 +193,8 @@ size_t getPrivateMemoryUsage() {
|
||||||
char buffer[128];
|
char buffer[128];
|
||||||
size_t result = 0;
|
size_t result = 0;
|
||||||
while (fgets(buffer, sizeof(buffer), file) != NULL) {
|
while (fgets(buffer, sizeof(buffer), file) != NULL) {
|
||||||
if (strncmp(buffer, "VmRSS:", 6) != 0 &&
|
if (strncmp(buffer, "VmRSS:", 6) != 0 && /* Non-swapped physical memory specific to this process */
|
||||||
strncmp(buffer, "VmSwap:", 7) != 0)
|
strncmp(buffer, "VmSwap:", 7) != 0) /* Swapped memory specific to this process */
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
char *line = buffer;
|
char *line = buffer;
|
||||||
|
|
Loading…
Reference in New Issue