Skip to main content
Version: 0.5

Memory

Setting memory via acorn run has the highest order of precedence. When setting this, you operate under the --memory flag (-m for short).

note

Check out the memory reference documentation for more information.

--memory

When setting this value, you have two options - globally or per workload and you can do a combination of both. When setting the memory globally for that Acorn, you just define the memory you would like to set.

acorn run -m 512Mi foo

This will set all workloads in the foo acorn to have 512Mi of memory. Adjacently, you can set the memory of each individual workload in the Acorn using a workload=memory pattern.

acorn run -m nginx=512Mi foo

This will only update Acorn's nginx workload to have 512Mi of memory.

Finally, you can do a combination of both.

acorn run -m 256Mi,nginx=512Mi foo

This sets all workloads in the foo acorn to have 256Mi of memory except for the nginx workload which will have 512Mi of memory.

No limit

It is possible to set any of these flags to have no limit on memory by simply setting their value to 0. However, running an Acorn with its memory set to 0 while the --workload-memory-maximum is not set to 0 will roughly translate to "use as much memory as allowed". For example, say that we install Acorn with a non-zero --workload-memory-maximum.

acorn install --workload-memory-maximum 512Mi

Then we try to run an Acorn with its memory set to 0.

acorn run --memory 0 foo

When the foo Acorn gets provisioned, all of its containers will have their memory set to 512Mi (the --workload-memory-maximum we set prior).

note

This same interaction will occur if the --workload-memory-default is set to 0 (which it is by default)