[Core] Add cached memory to unsued memory in Linux/BSD (#10084)

* add cached memory to available memory

* format

* bug fixed

* bug fixed

* fixed

* lint
This commit is contained in:
Lixin Wei 2020-08-14 14:47:52 +08:00 committed by GitHub
parent a252aa29da
commit 0fe5722744
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -108,8 +108,15 @@ class MemoryMonitor:
return # escape hatch, not intended for user use
self.last_checked = time.time()
total_gb = psutil.virtual_memory().total / (1024**3)
used_gb = total_gb - psutil.virtual_memory().available / (1024**3)
psutil_mem = psutil.virtual_memory()
total_gb = psutil_mem.total / (1024**3)
used_gb = total_gb - psutil_mem.available / (1024**3)
# Linux, BSD has cached memory, which should
# also be considered as unused memory
if hasattr(psutil_mem, "cached"):
used_gb -= psutil_mem.cached / (1024**3)
if self.cgroup_memory_limit_gb < total_gb:
total_gb = self.cgroup_memory_limit_gb
with open("/sys/fs/cgroup/memory/memory.usage_in_bytes",