假设我正在从 docker 容器中的绑定挂载存档文件,并希望为磁盘时间设置优先级,所以我运行它的方式如下:
ionice -c2 -n7 tar....
这样行得通吗?主机操作系统是否会考虑来自容器(cgroups(的类/优先级?
测试表明ionice
对tar
性能没有任何显着影响,相反,我使用 RAM/CPU docker 容器限制
这应该是有道理的:
- 如果此 tar 命令在 gzip 或类似 CPU 上没有瓶颈
- 如果您的系统正在运行您正在使用的磁盘的 CFQ IO 调度程序,根据以下注释部分: 曼离子
要检查系统配置,请尝试:
for SCHEDULER in /sys/block/*/queue/scheduler; do echo "For disk: ${SCHEDULER}"; cat $SCHEDULER; done
要大致了解磁盘和文件系统的使用,请执行以下操作:
lsblk
有关具有 Docker v 1.10 功能的其他可能解决方案,请参阅此答案