CpuSet Utility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Rafal Kupiec a4422e188e
Import source code.
1 year ago
COPYING Add license information. 1 year ago
README.md Update README. 1 year ago
build.sh Import source code. 1 year ago
cpuset.c Import source code. 1 year ago

README.md

CpuSet

CpuSet is small C-written application providing a frontend to mechanism for assigning a set of CPUs and Memory Nodes to a set of tasks. Cpusets constrain the CPU and Memory placement of tasks to only the resources within a task's current cpuset by utilizing a cgroups mechanism.

This small application is designed to be used with QEMU. Available arguments:

  • -e: Enables the 'host' cgroup and moves all possible tasks into it, except the parent process. Thanks to that, the console stays at root group and allows to launch qemu outside of the group with limited resources.
  • -d: Disabled to 'host' group and reverts all changes.
  • -c: Specifies the CPU cores assigned for 'host' group
  • -m: Memory Node assigned for 'host' group

Usage Example

#!/bin/sh
cpuset -e -c 0-1,8-9 -m 0
qemu-system-x86_64 (...)
cpuset -d

If script is not being launched as root, cpuset binary needs to have SETUID enabled!