From f1c6c658ac030b37efe0f9bb17f290c0b647d514 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Sun, 28 Jul 2019 14:33:57 +0100 Subject: [PATCH] Updating resident memory request impl on FreeBSD. --- src/zmalloc.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/zmalloc.c b/src/zmalloc.c index 5e6010278..fd8bb6938 100644 --- a/src/zmalloc.c +++ b/src/zmalloc.c @@ -294,6 +294,26 @@ size_t zmalloc_get_rss(void) { return t_info.resident_size; } +#elif defined(__FreeBSD__) +#include +#include +#include +#include + +size_t zmalloc_get_rss(void) { + struct kinfo_proc info; + size_t infolen = sizeof(info); + int mib[4]; + mib[0] = CTL_KERN; + mib[1] = KERN_PROC; + mib[2] = KERN_PROC_PID; + mib[3] = getpid(); + + if (sysctl(mib, 4, &info, &infolen, NULL, 0) == 0) + return (size_t)info.ki_rssize; + + return 0L; +} #else size_t zmalloc_get_rss(void) { /* If we can't get the RSS in an OS-specific way for this system just