mirror of
https://github.com/containers/podman.git
synced 2025-06-01 17:17:47 +08:00

Move the options for the podman build doc to a common md that can be used by both podman build and podman farm build. Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
46 lines
2.2 KiB
Markdown
46 lines
2.2 KiB
Markdown
####> This option file is used in:
|
|
####> podman build, container clone, create, farm build, pod clone, pod create, run, update
|
|
####> If file is edited, make sure the changes
|
|
####> are applicable to all of those.
|
|
#### **--cpu-shares**, **-c**=*shares*
|
|
|
|
CPU shares (relative weight).
|
|
|
|
By default, all containers get the same proportion of CPU cycles. This
|
|
proportion can be modified by changing the container's CPU share weighting
|
|
relative to the combined weight of all the running containers.
|
|
Default weight is **1024**.
|
|
|
|
The proportion only applies when CPU-intensive processes are running.
|
|
When tasks in one container are idle, other containers can use the
|
|
left-over CPU time. The actual amount of CPU time varies depending on
|
|
the number of containers running on the system.
|
|
|
|
For example, consider three containers, one has a cpu-share of 1024 and
|
|
two others have a cpu-share setting of 512. When processes in all three
|
|
containers attempt to use 100% of CPU, the first container receives
|
|
50% of the total CPU time. If a fourth container is added with a cpu-share
|
|
of 1024, the first container only gets 33% of the CPU. The remaining containers
|
|
receive 16.5%, 16.5% and 33% of the CPU.
|
|
|
|
On a multi-core system, the shares of CPU time are distributed over all CPU
|
|
cores. Even if a container is limited to less than 100% of CPU time, it can
|
|
use 100% of each individual CPU core.
|
|
|
|
For example, consider a system with more than three cores.
|
|
If the container _C0_ is started with **--cpu-shares=512** running one process,
|
|
and another container _C1_ with **--cpu-shares=1024** running two processes,
|
|
this can result in the following division of CPU shares:
|
|
|
|
| PID | container | CPU | CPU share |
|
|
| ---- | ----------- | ------- | ------------ |
|
|
| 100 | C0 | 0 | 100% of CPU0 |
|
|
| 101 | C1 | 1 | 100% of CPU1 |
|
|
| 102 | C1 | 2 | 100% of CPU2 |
|
|
|
|
On some systems, changing the resource limits may not be allowed for non-root
|
|
users. For more details, see
|
|
https://github.com/containers/podman/blob/main/troubleshooting.md#26-running-containers-with-resource-limits-fails-with-a-permissions-error
|
|
|
|
This option is not supported on cgroups V1 rootless systems.
|