From c6b6313f81949bea48d03e4d53ec2da53f6a9460 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Tue, 3 Jan 2017 18:47:32 +0100 Subject: Add MemChecker implementation for FreeBSD. --- src/memchecker.cc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src') diff --git a/src/memchecker.cc b/src/memchecker.cc index 2bdbf34..f444f85 100644 --- a/src/memchecker.cc +++ b/src/memchecker.cc @@ -35,6 +35,10 @@ #include #include #include +#elif DG_PLATFORM == DG_PLATFORM_FREEBSD +#include +#include +#include #endif #include @@ -73,6 +77,18 @@ uint64_t MemChecker::calcFreeMemory() const { free_memory = (uint64_t)vm_stats.free_count * (uint64_t)page_size; } +#elif DG_PLATFORM == DG_PLATFORM_FREEBSD + u_int page_size; + struct vmtotal vmt; + size_t vmt_size, uint_size; + + vmt_size = sizeof(vmt); + uint_size = sizeof(page_size); + + sysctlbyname("vm.vmtotal", &vmt, &vmt_size, NULL, 0); + sysctlbyname("vm.stats.vm.v_page_size", &page_size, &uint_size, NULL, 0); + + free_memory = vmt.t_free * (u_int64_t)page_size; #elif DG_PLATFORM == DG_PLATFORM_UNIX // TODO #endif -- cgit v1.2.3