diff --git a/src/evict.cpp b/src/evict.cpp index 6877b16f7..73808c41a 100644 --- a/src/evict.cpp +++ b/src/evict.cpp @@ -36,6 +36,9 @@ #include #include #include +#ifdef __linux__ +#include +#endif /* ---------------------------------------------------------------------------- * Data structures @@ -426,14 +429,14 @@ int getMaxmemoryState(size_t *total, size_t *logical, size_t *tofree, float *lev maxmemory = static_cast(maxmemory*1.2); /* If free system memory is below a certain threshold, force eviction */ - size_t sys_free_mem_buffer; + long sys_free_mem_buffer; if (g_pserver->force_eviction_percent && g_pserver->cron_malloc_stats.sys_total) { float free_mem_ratio = (float)(100 - g_pserver->force_eviction_percent)/100; size_t min_free_mem = static_cast(g_pserver->cron_malloc_stats.sys_total * free_mem_ratio); - sys_free_mem_buffer = static_cast(g_pserver->cron_malloc_stats.sys_free - min_free_mem); + sys_free_mem_buffer = static_cast(g_pserver->cron_malloc_stats.sys_free - min_free_mem); if (sys_free_mem_buffer < 0) { - size_t mem_threshold = static_cast(mem_reported + sys_free_mem_buffer); - maxmemory = (maxmemory < mem_threshold) ? maxmemory : mem_threshold; + long mem_threshold = mem_reported + sys_free_mem_buffer; + maxmemory = (maxmemory < mem_threshold) ? maxmemory : static_cast(mem_threshold); } } @@ -891,7 +894,7 @@ cant_free: if (mem_freed > 0) { updateSysFreeMemory(); } - + if (g_pserver->m_pstorageFactory) { if (mem_reported < g_pserver->maxmemory*1.2) { diff --git a/src/server.cpp b/src/server.cpp index 9cbca9f04..57b5c8a6d 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -2314,7 +2314,7 @@ void cronUpdateMemoryStats() { if (!g_pserver->cron_malloc_stats.allocator_allocated) g_pserver->cron_malloc_stats.allocator_allocated = g_pserver->cron_malloc_stats.zmalloc_used; - #ifdef __linux__ + #ifdef __linux__ if (g_pserver->force_eviction_percent) { struct sysinfo sysinf; memset(&sysinf, 0, sizeof sysinf);