CpuSet Utility
Go to file
Rafal Kupiec a4422e188e
Import source code.
2019-12-18 09:25:42 +01:00
COPYING Add license information. 2019-12-18 08:53:09 +01:00
README.md Update README. 2019-12-18 08:52:01 +01:00
build.sh Import source code. 2019-12-18 09:25:42 +01:00
cpuset.c Import source code. 2019-12-18 09:25:42 +01:00

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!