summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2020-12-22 00:26:55 +0100
committerGiampaolo Rodola <g.rodola@gmail.com>2020-12-22 00:26:55 +0100
commit119a915129dafe518baa06b5e25e14836d1d24ca (patch)
tree1159b2beb098bfc35fc67c1a9f8e6a3635c5d56b
parent4c940360a52c94b3e1f2f1fc92b53e441c566b5e (diff)
downloadpsutil-119a915129dafe518baa06b5e25e14836d1d24ca.tar.gz
implement NUMA nodes on Linux
Signed-off-by: Giampaolo Rodola <g.rodola@gmail.com>
-rw-r--r--psutil/__init__.py2
-rw-r--r--psutil/_pslinux.py5
2 files changed, 6 insertions, 1 deletions
diff --git a/psutil/__init__.py b/psutil/__init__.py
index 63f77e63..edd91029 100644
--- a/psutil/__init__.py
+++ b/psutil/__init__.py
@@ -1603,7 +1603,7 @@ def cpu_count(kind="logical", **_kwargs):
return None
n = _psplatform.cpu_count_sockets()
elif kind == "numa":
- # Availability: Windows
+ # Availability: Linux, Windows
if not hasattr(_psplatform, "cpu_count_numa"):
return None
n = _psplatform.cpu_count_numa()
diff --git a/psutil/_pslinux.py b/psutil/_pslinux.py
index 8b169125..06ffb189 100644
--- a/psutil/_pslinux.py
+++ b/psutil/_pslinux.py
@@ -710,6 +710,11 @@ def cpu_count_sockets():
return len(found) or None
+def cpu_count_numa():
+ """Return the number of CPU NUMA nodes."""
+ return len(glob.glob("/sys/devices/system/node/node[0-9]*"))
+
+
def cpu_stats():
"""Return various CPU stats as a named tuple."""
with open_binary('%s/stat' % get_procfs_path()) as f: