- Getting Started with Kubernetes
- Jonathan Baier Jesse White
- 313字
- 2021-06-10 19:46:56
cgroups
cgroups work by allowing the host to share and also limit the resources each process or container can consume. This is important for both resource utilization and security, as it prevents denial-of-service (DoS) attacks on the host's hardware resources. Several containers can share CPU and memory while staying within the predefined constraints. cgroups allow containers to provision access to memory, disk I/O, network, and CPU. You can also access devices (for example, /dev/foo). cgroups also power the soft and hard limits of container constraints that we'll discuss in later chapters.
There are seven major cgroups:
- Memory cgroup: This keeps track of page access by the group, and can define limits for physical, kernel, and total memory.
- Blkio cgroup: This tracks the I/O usage per group, across the read and write activity per block device. You can throttle by group per device, on operations versus bytes, and for reads versus writes.
- CPU cgroup: This keeps track of user and system CPU time and usage per CPU. This allows you to set weights, but not limits.
- Freezer cgroup: This is useful in batch management systems that are often stopping and starting tasks in order to schedule resources efficiently. The SIGSTOP signal is used to suspend a process, and the process is generally unaware that it is being suspended (or resumed, for that matter.)
- CPUset cgroup: This allows you to pin a group to a specific CPU within a multi-core CPU architecture. You can pin by application, which will prevent it from moving between CPUs. This can improve the performance of your code by increasing the amount of local memory access or minimizing thread switching.
- Net_cls/net_prio cgroup: This keeps tabs on the egress traffic class (net_cls) or priority (net_prio) that is generated by the processes within the cgroup.
- Devices cgroup: This controls what read/write permissions the group has on device nodes.
推薦閱讀
- Instant Raspberry Pi Gaming
- Mastering Proxmox(Third Edition)
- Hands-On Artificial Intelligence on Amazon Web Services
- 輕松學(xué)Java Web開發(fā)
- Blockchain Quick Start Guide
- 分布式多媒體計(jì)算機(jī)系統(tǒng)
- 21天學(xué)通Java
- Visual C++編程全能詞典
- Citrix? XenDesktop? 7 Cookbook
- Learn QGIS
- Hands-On SAS for Data Analysis
- 30天學(xué)通Java Web項(xiàng)目案例開發(fā)
- JSP網(wǎng)絡(luò)開發(fā)入門與實(shí)踐
- Java求職寶典
- SolarWinds Server & Application Monitor:Deployment and Administration