1

I'm dabbling about with cgroups on my Raspberry Pi Zero using the latest version of Raspbian Stretch and I was surprised to see only the following cpu cgroup subsystems available:

cgroup.clone_children  cpuacct.usage         cpuacct.usage_percpu_sys   cpuacct.usage_user  tasks
cgroup.procs           cpuacct.usage_all     cpuacct.usage_percpu_user  cpu.shares
cpuacct.stat           cpuacct.usage_percpu  cpuacct.usage_sys          notify_on_release

I'd like to be able to set cpu.cfs_period_us and cpu.cfs_quota_us. Is that possible?

Additional info:

Linux localhost 4.14.50+ #1122 Tue Jun 19 12:21:21 BST 2018 armv6l GNU/Linux

No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 9.4 (stretch)
Release:    9.4
Codename:   stretch
  • Hello - I've been asked to review your post as it's your first. It's an interesting question. I've not tried to use cgroups, but a quick read suggests they may need to be enabled before they're available. It might help you get a good answer if you could explain how you determined what subsystems were available, and how you've enabled them. – Seamus Aug 6 '18 at 3:21
  • I was surprised to see only the following - that seems to be the default case - you say you were surprised - why? What made you think there's be more than that? – Jaromanda X Aug 6 '18 at 4:00
  • I'm just not very familiar with Raspbian. I'm used to interacting with them on servers that have ample resources and have this particular functionality available. – tcdowney Aug 7 '18 at 5:41
1

Looks like it's because Raspbian is not compiled with the CONFIG_CFS_BANDWIDTH flag enabled. There are concerns that the presence of it would cause additional overhead and affect the performance of Raspbian. Found this in the cgroups man page:

In Linux 3.2, this controller was extended to provide CPU "bandwidth" control. If the kernel is configured with CON‐ FIG_CFS_BANDWIDTH, then within each scheduling period (defined via a file in the cgroup directory), it is possible to define an upper limit on the CPU time allocated to the processes in a cgroup. This upper limit applies even if there is no other competition for the CPU. Further information can be found in the kernel source file Documentation/scheduler/sched-bwc.txt.

References:

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.