diff --git a/src/cpu/VirtualFluidsCore/Utilities/MemoryUtil.h b/src/cpu/VirtualFluidsCore/Utilities/MemoryUtil.h index f94757aa7244bff69a1d98b0fe7d4374aa723d01..b1dd85885f30a4ed3dd61c835e7732d779633b0f 100644 --- a/src/cpu/VirtualFluidsCore/Utilities/MemoryUtil.h +++ b/src/cpu/VirtualFluidsCore/Utilities/MemoryUtil.h @@ -42,8 +42,13 @@ namespace Utilities long long totalPhysMem = memInfo.totalram; //Multiply in next statement to avoid int overflow on right hand side... totalPhysMem *= memInfo.mem_unit; - #elif defined(MEMORYUTIL_APPLE) - long long totalPhysMem = 0; + #elif defined(MEMORYUTIL_APPLE) + int mib [] = { CTL_HW, HW_MEMSIZE }; + int64_t totalPhysMem; + size_t length = sizeof(totalPhysMem); + + if(sysctl(mib, 2, &totalPhysMem, &length, nullptr, 0) == -1) + return 0; #else #error "MemoryUtil::getTotalPhysMem - UnknownMachine" #endif