mirror of
https://github.com/microsoft/mimalloc.git
synced 2024-12-28 22:05:40 +08:00
getting resident mem at least
This commit is contained in:
parent
eb1188a1dd
commit
d964be2caa
12
src/stats.c
12
src/stats.c
@ -475,6 +475,10 @@ static void mi_process_info(mi_msecs_t* utime, mi_msecs_t* stime, size_t* peak_r
|
|||||||
#include <mach/mach.h>
|
#include <mach/mach.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__HAIKU__)
|
||||||
|
#include <kernel/OS.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
static mi_msecs_t timeval_secs(const struct timeval* tv) {
|
static mi_msecs_t timeval_secs(const struct timeval* tv) {
|
||||||
return ((mi_msecs_t)tv->tv_sec * 1000L) + ((mi_msecs_t)tv->tv_usec / 1000L);
|
return ((mi_msecs_t)tv->tv_sec * 1000L) + ((mi_msecs_t)tv->tv_usec / 1000L);
|
||||||
}
|
}
|
||||||
@ -494,10 +498,18 @@ static void mi_process_info(mi_msecs_t* utime, mi_msecs_t* stime, size_t* peak_r
|
|||||||
#else
|
#else
|
||||||
// Haiku does not have (yet?) a way to
|
// Haiku does not have (yet?) a way to
|
||||||
// get these stats per process
|
// get these stats per process
|
||||||
|
thread_info tid;
|
||||||
|
area_info mem;
|
||||||
|
ssize_t c;
|
||||||
*peak_rss = 0;
|
*peak_rss = 0;
|
||||||
*page_faults = 0;
|
*page_faults = 0;
|
||||||
*page_reclaim = 0;
|
*page_reclaim = 0;
|
||||||
*peak_commit = 0;
|
*peak_commit = 0;
|
||||||
|
get_thread_info(find_thread(0), &tid);
|
||||||
|
|
||||||
|
while (get_next_area_info(tid.team, &c, &mem) == B_OK) {
|
||||||
|
*peak_rss += mem.ram_size;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
*utime = timeval_secs(&rusage.ru_utime);
|
*utime = timeval_secs(&rusage.ru_utime);
|
||||||
*stime = timeval_secs(&rusage.ru_stime);
|
*stime = timeval_secs(&rusage.ru_stime);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user