diff --git a/awx/main/utils/common.py b/awx/main/utils/common.py index 291ff0722e..345f4790ea 100644 --- a/awx/main/utils/common.py +++ b/awx/main/utils/common.py @@ -17,6 +17,7 @@ import threading import contextlib import tempfile import six +import psutil # Decorator from decorator import decorator @@ -581,15 +582,11 @@ def get_system_task_capacity(): from django.conf import settings if hasattr(settings, 'SYSTEM_TASK_CAPACITY'): return settings.SYSTEM_TASK_CAPACITY - try: - out = subprocess.check_output(['free', '-m']) - except subprocess.CalledProcessError: - logger.exception('Problem obtaining capacity from system.') - return 0 - total_mem_value = out.split()[7] - if int(total_mem_value) <= 2048: + mem = psutil.virtual_memory() + total_mem_value = mem.total / 1024 / 1024 + if total_mem_value <= 2048: return 50 - return 50 + ((int(total_mem_value) / 1024) - 2) * 75 + return 50 + ((total_mem_value / 1024) - 2) * 75 _inventory_updates = threading.local()