Skip to content

Commit f434dc1

Browse files
Report available CPU cores with cpu_info (#160)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 358928c commit f434dc1

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

src/session_info2/_pu.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import os
55
import platform
66
import shutil
7+
import sys
78
from multiprocessing import cpu_count
89
from pathlib import WindowsPath
910
from subprocess import CalledProcessError, run
@@ -12,7 +13,14 @@
1213
def cpu_info() -> str:
1314
"""Get CPU info."""
1415
proc = platform.processor() or None
15-
return f"{cpu_count()} logical CPU cores{f', {proc}' if proc else ''}"
16+
total_cores = cpu_count()
17+
if sys.version_info >= (3, 13):
18+
avail_cores = os.process_cpu_count()
19+
elif platform.system() == "Linux":
20+
avail_cores = len(os.sched_getaffinity(0))
21+
else:
22+
avail_cores = total_cores
23+
return f"{avail_cores}/{total_cores} logical CPU cores{f', {proc}' if proc else ''}"
1624

1725

1826
def gpu_info() -> tuple[str, ...]:

0 commit comments

Comments
 (0)