mirror of
https://github.com/frappe/bench.git
synced 2024-11-12 00:06:36 +00:00
[minor] redis: fix max memory size
some macOS systems do not have SC_PHYS_PAGES set and may raise a ValueError. As a workaround, we fallback to sysctl.
This commit is contained in:
parent
f969555835
commit
a331c012d2
@ -67,10 +67,8 @@ def get_redis_version():
|
|||||||
return float('{major}.{minor}'.format(major=version.major, minor=version.minor))
|
return float('{major}.{minor}'.format(major=version.major, minor=version.minor))
|
||||||
|
|
||||||
def get_max_redis_memory():
|
def get_max_redis_memory():
|
||||||
total_virtual_mem = os.sysconf('SC_PAGE_SIZE') * os.sysconf('SC_PHYS_PAGES')/(pow(1024, 2))
|
try:
|
||||||
max_memory = int(total_virtual_mem * 0.05) # Max memory for redis is 5% of virtual memory
|
max_mem = os.sysconf('SC_PAGE_SIZE') * os.sysconf('SC_PHYS_PAGES')
|
||||||
|
except ValueError:
|
||||||
if max_memory < 50:
|
max_mem = int(subprocess.check_output(['sysctl', '-n', 'hw.memsize']).strip())
|
||||||
return 50
|
return max(50, int((max_mem / (1024. ** 2)) * 0.05))
|
||||||
else:
|
|
||||||
return max_memory
|
|
||||||
|
Loading…
Reference in New Issue
Block a user