当前位置: 首页 > 文档资料 > Docker 简明教程 >

4.3 资源配置

优质
小牛编辑
130浏览
2023-12-01

Runtime constraints on CPU and memory

目前相关资料还没有收齐,还在学习之中

下面的参数可以用来调整container内的性能参数。

参数描述
-m, --memory=""Memory limit (format: [], where unit = b, k, m or g)
--memory-swap=""Total memory limit (memory + swap, format: [], where unit = b, k, m or g)
-c, --cpu-shares=0CPU shares (relative weight)
--cpu-period=0Limit the CPU CFS (Completely Fair Scheduler) period
--cpuset-cpus=""CPUs in which to allow execution (0-3, 0,1)
--cpuset-mems=""Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only effective on NUMA systems.
--cpu-quota=0Limit the CPU CFS (Completely Fair Scheduler) quota
--blkio-weight=0Block IO weight (relative weight) accepts a weight value between 10 and 1000.
--oom-kill-disable=falseWhether to disable OOM Killer for the container or not.
--memory-swappiness=""Tune a container’s memory swappiness behavior. Accepts an integer between 0 and 100.

通过docker run -m 可以很方便的调整container所使用的内存资源。如果host支持swap内存,那么使用-m可以设定比host物理内存还大的值。

同样,通过-c 可以调整container的cpu优先级。默认情况下,所有的container享有相同的cpu优先级和cpu调度周期。但你可以通过Docker来通知内核给予某个或某几个container更多的cpu计算周期。

默认情况下,使用-c或者--cpu-shares 参数值为0,可以赋予当前活动container 1024个cpu共享周期。这个0值可以针对活动的container进行修改来调整不同的cpu循环周期。

比如,我们使用-c或者--cpu-shares =0启动了C0,C1,C2三个container,使用-c/--cpu-shares=512启动了C3.这时,C0,C1,C2可以100%的使用CPU资源(1024),但C3只能使用50%的CPU资源(512)。如果这个host的OS是时序调度类型的,每个CPU时间片是100微秒,那么C0,C1,C2将完全使用掉这100微秒,而C3只能使用50微秒。