当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python os.sched_setaffinity()用法及代码示例


Python中的OS模块提供了与操作系统进行交互的函数。操作系统属于Python的标准实用程序模块。该模块提供了使用依赖于操作系统的函数的便携式方法。

os.sched_setaffinity()Python中的方法用于设置由指定进程ID指示的进程的CPU亲和力掩码。进程的CPU相似性掩码确定了可以运行的CPU组。

注意:此方法仅在某些UNIX平台上可用。


用法: os.sched_setaffinity(pid, mask) 

参数:
pid:需要设置其CPU关联掩码的进程的进程ID。 Process的CPU亲和力掩码决定了可以在其上运行的CPU组。
pid为0表示调用过程。
mask:一个整数的整数,表示应将进程限制在其中的CPU集合。

返回类型:此方法不返回任何值。

代码:os.sched_setaffinity()方法的使用
# Python program to explain os.sched_setaffinity() method   
  
# importing os module  
import os 
  
# Get the number of CPUs 
# in the system 
# using os.cpu_count() method 
print("Number of CPUs:", os.cpu_count()) 
  
# Get the set of CPUs 
# on which the calling process 
# is eligible to run. using 
# os.sched_getaffinity() method 
# 0 as PID represnts the 
# calling process 
pid = 0
affinity = os.sched_getaffinity(pid) 
  
# Print the result 
print("Process is eligibl to run on:", affinity) 
  
  
# Change the CPU affinity mask 
# of the calling process 
# using os.sched_setaffinity() method 
  
# Below CPU affinity mask will 
# restrict a process to only 
# these 2 CPUs (0, 1) i.e process can 
# run on these CPUs only 
affinity_mask = {0, 1} 
pid = 0
os.sched_setaffinity(0, affinity_mask) 
print("CPU affinity mask is modified for process id % s" % pid)  
  
  
# Now again, Get the set of CPUs 
# on which the calling process 
# is eligible to run. 
pid = 0
affinity = os.sched_getaffinity(pid) 
  
# Print the result 
print("Now, process is eligibl to run on:", affinity)
输出:
Number of CPUs:4
Process is eligibl to run on:{0, 1, 2, 3}
CPU affinity mask is modified for process id 0
Now, process is eligibl to run on:{0, 1}

参考文献:



相关用法


注:本文由纯净天空筛选整理自ihritik大神的英文原创作品 Python | os.sched_setaffinity() method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。