Python | os.sched_getaffinity() method
OS module in Python provides functions for interacting with the operating system. OS comes under Python’s standard utility modules. This module provides a portable way of using operating system dependent functionality.
os.sched_getaffinity()
method in Python is used to get the set of CPUs on which the process with the specified process id is eligible to run.
Note: This method is only available on some UNIX platforms.
Syntax: os.sched_getaffinity(pid)
Parameter:
pid: The process id of the process whose CPU affinity mask is required. Process’s CPU affinity mask determines the set of CPUs on which it is eligible to run.
A pid of 0 represents the calling process.Return Type: This method returns a set object which represents the CPUs, on which the process with the specified process id is eligible to run.
# Python program to explain os.sched_getaffinity() method # importing os module import os # Get the set of CPUs # on which the calling process # is eligible to run. # 0 as pid represents the # calling process pid = 0 affinity = os.sched_getaffinity(pid) # Print the result print (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) # 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 (affinity) |
{0, 1, 2, 3} {0, 1}
References:
- https://docs.python.org/3/library/os.html#os.sched_getaffinity
- https://linux.die.net/man/2/sched_getaffinity
Contact Us