Comments (8)
@rajasec blkio weight can't be used on deadline scheduler, and the solution should be on kernel side. All Docker can do is give a more specific message, current one is not that friendly.
For not allowing to write to blkio.time, that's because it can't be written, it only for showing blkio cgroup data, you can ll /sys/fs/cgroup/blkio
and find out which files are allowed to be written.
from runc.
Closing this issue as it is current design from Kernel to support cfq only for blkio subsystem of cgroups
from runc.
For testing purpose, I've added template_test.go for adding block device support, this time it fails..
System error: write /sys/fs/cgroup/blkio/integration/test/blkio.weight_device: invalid argument
Even the tests failed in integration directory
Overall felt that, blkio.weight_device is not allowing to write in /sys
from runc.
Ubuntu comes with deadline I/O scheduler as default, due to which blkio weight device is not writing to /sys.
The moment I've changed to cfq scheduler, I'm able to set the values in blkio.weight_device.
Even I've tested with noop scheduler, same failure.
Looks like, blkio weightage supports only in CFQ I/O scheduler.
Even though I modified to CFQ, few of the things blkio.time is not allowing to write
from runc.
As per Kernel code, cfq-iosched.c, weight device works for CFQ..
{
.name = "weight_device",
.flags = CFTYPE_NOT_ON_ROOT,
.seq_show = cfqg_print_weight_device,
.write = cfqg_set_weight_device,
},
@crosbymichael @mrunalp
Is there way to solve for deadline schedulers which comes with default value.
from runc.
@rajasec From the kernel documentation here https://www.kernel.org/doc/Documentation/cgroups/blkio-controller.txt
Currently two IO control policies are implemented. First one is proportional
weight time based division of disk policy. It is implemented in CFQ. Hence
this policy takes effect only on leaf nodes when CFQ is being used.
from runc.
Thanks @hqhq @mrunalp for the confirmation
For database operations which ran on the separate disks with deadline scheduler, now we are forced to switched to cfq. BLKIO for database operations can not be utilized.
from runc.
@hqhq , hello, 请问cgroup没有挂载到clkio.weight等(如下图)应该如何做才能挂载。
dockerd log:
cgroup folder/file:
and also, why the group/user is 15 not root?
from runc.
Related Issues (20)
- Reasons that can't use runc-dmz
- flaky test: kill KILL [host pidns] HOT 8
- flaky test: check_cpu_* HOT 1
- [ci] We should check `memory.swap.max` exists or not for cgroupv2 HOT 1
- Building runc 1.1.11 causes
- runc-dmz masks the error from unix.SYS_EXECVEAT HOT 12
- writing sync procError: write sync: file already closed
- `--manage-cgroups-mode` can not be `ignore` when checkpoint and restore containers HOT 5
- BPF programs installed by libcontainer are not distinguished
- Kubelet fails to invoke runc to delete residual cgroup resources in pods. HOT 4
- racy RLIMIT_NOFILE setting with Go 1.19+ HOT 13
- vagrant up is not working in Cirrus CI HOT 4
- Seems like a typo, the .PHONY label has no purpose this way HOT 3
- runc update will clear cpu burst value HOT 3
- runc update: cpu period and cpu burst being reset to defaults after an unrelated update HOT 8
- runc init hang up HOT 1
- runc doesn't work with go1.22 HOT 1
- GHSA-c5pj-mqfh-rvc3 "Runc allows an arbitrary systemd property to be injected" is a misunderstood vulnerability. Users do NOT need to update runc. HOT 3
- flaky test: TestUsernsCheckpoint
- flaky test: TestCheckpoint(actuated-arm64-6cpu-8gb, 1.21.x) HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from runc.