Safe Haskell | None |
---|---|
Language | Haskell2010 |
Types and operations for the CPU CGroup controller.
Synopsis
- data CPU
- resolveCPUController :: IO (Controller CPU)
- data CPUQuota
- getCPUQuota :: Controller CPU -> IO CPUQuota
The CPU cgroup controller
resolveCPUController :: IO (Controller CPU) Source #
Resolve the CPU cgroup controller for the current process
Throws an Exception if the CPU controller is not able to be found, or when running outside of a cgroup
Operations on the CPU controller
A CPU quota is the amount of CPU time our process can use relative to the scheduler period
For example:
| cpu.cfs_quota_us | cpu.cfs_period_us | description | | ---------------- | ----------------- | ----------- | | 100000 | 100000 | (1) | | 200000 | 100000 | (2) | | 50000 | 100000 | (3) | | -1 | 100000 | (4) |
- : we can use up to a single CPU core
- : we can use up to two CPU cores
- : the scheduler will give us a single CPU core for up to 50% of the time
- : we can use all available CPU resources (there is no quota)
getCPUQuota :: Controller CPU -> IO CPUQuota Source #
Get the CPU quota within the given cgroup CPU controller