Docker容器资源限制:CPU、内存、IO等
Docker容器资源限制:// Resources contains container's resources (cgroups config, ulimits...)
Resources 结构体定义了 Docker 容器可使用的资源限制,涵盖 CPU、内存、IO 等方面。
type Resources struct {
// 适用于所有平台
CPUShares int64 `json:'CpuShares'` // CPU 份额(相对于其他容器的权重)
Memory int64 // 内存限制(以字节为单位)
NanoCPUs int64 `json:'NanoCpus'` // CPU 配额,单位为 10^-9 个 CPU。
// 适用于 UNIX 平台
CgroupParent string // 父 cgroup
BlkioWeight uint16 // 块 IO 权重(相对于其他容器的权重)
BlkioWeightDevice []*blkiodev.WeightDevice
BlkioDeviceReadBps []*blkiodev.ThrottleDevice
BlkioDeviceWriteBps []*blkiodev.ThrottleDevice
BlkioDeviceReadIOps []*blkiodev.ThrottleDevice
BlkioDeviceWriteIOps []*blkiodev.ThrottleDevice
CPUPeriod int64 `json:'CpuPeriod'` // CPU CFS(完全公平调度器)周期
CPUQuota int64 `json:'CpuQuota'` // CPU CFS(完全公平调度器)配额
CPURealtimePeriod int64 `json:'CpuRealtimePeriod'` // CPU 实时周期
CPURealtimeRuntime int64 `json:'CpuRealtimeRuntime'` // CPU 实时运行时
CpusetCpus string // CpusetCpus 0-2, 0,1
CpusetMems string // CpusetMems 0-2, 0,1
Devices []DeviceMapping // 要映射到容器内的设备列表
DeviceCgroupRules []string // 要添加到设备 cgroup 的规则列表
DeviceRequests []DeviceRequest // 设备驱动程序的设备请求列表
// KernelMemory 指定容器的内核内存限制(以字节为单位)。
// 已弃用:内核 5.4 弃用了 kmem.limit_in_bytes。
KernelMemory int64 `json:',omitempty'`
KernelMemoryTCP int64 `json:',omitempty'` // 内核 TCP 缓冲区内存的硬限制(以字节为单位)
MemoryReservation int64 // 内存软限制(以字节为单位)
MemorySwap int64 // 总内存使用量(内存 + 交换);设置为 `-1` 以启用无限交换
MemorySwappiness *int64 // 调整容器内存交换行为
OomKillDisable *bool // 是否禁用 OOM Killer
PidsLimit *int64 // 设置容器的 PID 限制;设置为 `0` 或 `-1` 表示无限制,或设置为 `null` 表示不更改。
Ulimits []*units.Ulimit // 要在容器中设置的 ulimits 列表
// 适用于 Windows
CPUCount int64 `json:'CpuCount'` // CPU 数量
CPUPercent int64 `json:'CpuPercent'` // CPU 百分比
IOMaximumIOps uint64 // 容器系统驱动器的最大 IOps
IOMaximumBandwidth uint64 // 容器系统驱动器的最大每秒 IO 字节数
}
CPUPercent 字段
CPUPercent 字段用于指定容器可以使用的 CPU 资源的百分比。它并不表示容器可以使用系统 CPU 剩余资源的百分比。
例如,如果将 CPUPercent 设置为 50,则表示无论系统 CPU 使用情况如何,该容器最多可以使用 50% 的 CPU 资源。
通过设置此字段,可以限制容器使用的 CPU 资源,以便在多个容器之间进行资源分配和管理,防止某个容器过度使用 CPU 资源,从而影响其他容器的性能。
原文地址: https://www.cveoy.top/t/topic/fxcD 著作权归作者所有。请勿转载和采集!