--- mysql-8.0.17/storage/innobase/handler/ha_innodb.cc.orig 2019-09-22 17:18:33.000000000 -0700 +++ mysql-8.0.17/storage/innobase/handler/ha_innodb.cc 2019-09-22 17:18:49.000000000 -0700 @@ -57,6 +57,10 @@ #include <strfunc.h> #include <time.h> +#if defined __APPLE__ && (MAC_OS_X_VERSION_MIN_REQUIRED < 101100) +#include <sys/sysctl.h> +#endif + #include <sql_table.h> #include "mysql/components/services/system_variable_source.h" @@ -294,10 +298,19 @@ #undef get_sys_mem #define get_sys_mem get_mem_GlobalMemoryStatus #else +#if defined __APPLE__ && (MAC_OS_X_VERSION_MIN_REQUIRED < 101100) +static double get_mem_sysconf() { + uint64_t mem_size; + size_t len = sizeof(mem_size); + sysctlbyname("hw.memsize", &mem_size, &len, NULL, 0); + return (((double)mem_size) / GB); +} +#else static double get_mem_sysconf() { return (((double)sysconf(_SC_PHYS_PAGES)) * ((double)sysconf(_SC_PAGESIZE) / GB)); } +#endif #undef get_sys_mem #define get_sys_mem get_mem_sysconf #endif /* defined(_WIN32) || defined(_WIN64) */