getting rss size implementation for netbsd (#7293)

(cherry picked from commit 520c3b26c3fce1c86cf0c70961acd0515c8cb498)
This commit is contained in:
David CARLIER 2020-09-29 06:49:35 +01:00 committed by Oran Agra
parent 0fc601b3dd
commit 58a7774ca4

View File

@ -314,6 +314,26 @@ size_t zmalloc_get_rss(void) {
return 0L; return 0L;
} }
#elif defined(__NetBSD__)
#include <sys/types.h>
#include <sys/sysctl.h>
#include <unistd.h>
size_t zmalloc_get_rss(void) {
struct kinfo_proc2 info;
size_t infolen = sizeof(info);
int mib[6];
mib[0] = CTL_KERN;
mib[1] = KERN_PROC;
mib[2] = KERN_PROC_PID;
mib[3] = getpid();
mib[4] = sizeof(info);
mib[5] = 1;
if (sysctl(mib, 4, &info, &infolen, NULL, 0) == 0)
return (size_t)info.p_vm_rssize;
return 0L;
}
#else #else
size_t zmalloc_get_rss(void) { size_t zmalloc_get_rss(void) {
/* If we can't get the RSS in an OS-specific way for this system just /* If we can't get the RSS in an OS-specific way for this system just