CSET-PROC(1) | CSET-PROC(1) |
cset-proc - manage processes running in cpusets
cset [cset options] proc [proc options] [args] cset proc --help cset proc cset proc my_set my_other_set cset proc --list --set my_set cset proc --exec my_set /opt/software/my_code --my_opt_1 cset proc --set my_set --exec /opt/software/my_code --my_opt_1 cset proc --move 2442,3000-3200 my_set cset proc --move --pid=2442,3000-3200 --toset=my_set cset proc --move --fromset=my_set_1 --toset=my_set_2 cset proc --move --pid=42 --fromset=/group1/myset --toset=/group2/yourset
-h, --help
-l, --list
-e, --exec
-u USER, --user=USER
-g GROUP, --group=GROUP
-m, --move
-p PIDSPEC, --pid=PIDSPEC
--threads
-s CPUSET, --set=CPUSET
-t TOSET, --toset=TOSET
-f FROMSET, --fromset=FROMSET
-k, --kthread
--force
-v, --verbose
This command is used to run and manage arbitrary processes on specified cpusets. It is also used to move pre-existing processes and threads to specified cpusets. You may note there is no "kill" or "destroy" option — use the standard OS ^C or kill commands for that.
To list which tasks are running in a particular cpuset, use the --list command.
For example:
# cset proc --list --set myset
This command will list all the tasks running in the cpuset called "myset".
Processes are created by specifying the path to the executable and specifying the cpuset that the process is to be created in.
For example:
# cset proc --set=blazing_cpuset --exec /usr/bin/fast_code
This command will execute the /usr/bin/fast_code program on the "blazing_cpuset" cpuset.
Note that if your command takes options, then use the traditional "--" marker to separate cset’s options from your command’s options.
For example:
# cset proc --set myset --exec — ls -l
This command will execute "ls -l" on the cpuset called "myset".
The PIDSPEC argument taken for the move command is a comma separated list of PIDs or TIDs. The list can also include brackets of PIDs or TIDs (i.e. tasks) that are inclusive of the endpoints.
For example:
1,2,5 Means processes 1, 2 and 5 1,2,600-700 Means processes 1, 2 and from 600 to 700
The move command accepts multiple common calling methods. For example, the following commands are equivalent:
# cset proc --move 2442,3000-3200 reserved_set
# cset proc --move --pid=2442,3000-3200 --toset=reserved_set
These commands move the tasks defined as 2442 and any running task between 3000 and 3200 inclusive of the ends to the cpuset called "reserved_set".
Specifying the --fromset is not necessary since the tasks will be moved to the destination cpuset no matter which cpuset they are currently running on.
To move all userspace tasks from one cpuset to another, you need to specify the source and destination cpuset by name.
For example:
# cset proc --move --fromset=comp1 --toset=comp42
This command specifies that all processes and threads running on cpuset "comp1" be moved to cpuset "comp42".
For example, suppose you have the following cpuset tree:
/cpusets
/group1
/myset
/yourset
/group2
/myset
/yourset
Then, to move a process from myset in group1 to yourset in group2, you would have to issue the following command:
# cset proc --move --pid=50 --fromset=/group1/myset --toset=/group2/yourset
You do not have to worry about where in the Linux filesystem the cpuset filesystem is mounted. The cset command takes care of that. Any cpusets that are specified by path (such as above), are done with respect to the root of the cpuset filesystem.
Cpuset is licensed under the GNU GPL V2 only.
Copyright (c) 2008-2011 Novell Inc.
Written by Alex Tsariounov <tsariounov@gmail.com>.
cset(1), cset-set(1), cset-shield(1)
/usr/share/doc/packages/cpuset/html/tutorial.html
/usr/src/linux/Documentation/cpusets.txt
Alex Tsariounov <tsariounov@gmail.com>
March 2016 | 1.5.8 |