Bird
Raised Fist0
Dockerdevops

Memory limits and reservations in Docker - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a memory limit in Docker?
A memory limit sets the maximum amount of memory a container can use. If the container tries to use more, it may be stopped or killed.
Click to reveal answer
beginner
What does memory reservation mean in Docker?
Memory reservation is the amount of memory that Docker guarantees to a container. It helps ensure the container has enough memory to run smoothly.
Click to reveal answer
beginner
How do you set a memory limit when running a Docker container?
Use the option --memory followed by the limit size, for example: docker run --memory=500m myimage limits memory to 500 megabytes.
Click to reveal answer
intermediate
What happens if a container exceeds its memory limit?
Docker may stop or kill the container to prevent it from using more memory than allowed, protecting the host system.
Click to reveal answer
intermediate
Why use memory reservation along with memory limits?
Memory reservation ensures the container has enough memory to run well, while the limit prevents it from using too much and affecting other containers.
Click to reveal answer
Which Docker option sets the maximum memory a container can use?
A--cpu-shares
B--memory
C--memory-reservation
D--memory-swap
What does --memory-reservation do in Docker?
AGuarantees a minimum memory amount
BSets the maximum memory limit
CLimits CPU usage
DSets disk space limit
If a container exceeds its memory limit, what usually happens?
AIt gets more memory automatically
BIt slows down but keeps running
CDocker stops or kills the container
DNothing happens
Which is true about memory reservation?
AIt is the minimum memory guaranteed
BIt sets disk quota
CIt controls CPU priority
DIt is the maximum memory allowed
How do you limit a container's memory to 1 gigabyte?
Adocker run --memory-reservation=1g ...
Bdocker run --memory-swap=1g ...
Cdocker run --cpu-shares=1g ...
Ddocker run --memory=1g ...
Explain the difference between memory limits and memory reservations in Docker.
Think about max vs guaranteed memory.
You got /4 concepts.
    Describe how to set memory limits and reservations when running a Docker container.
    Recall the Docker run command options.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does setting a memory limit for a Docker container do?
      easy
      A. It sets the maximum memory the container can use.
      B. It sets the minimum guaranteed memory for the container.
      C. It disables memory usage for the container.
      D. It sets the CPU usage limit for the container.

      Solution

      1. Step 1: Understand memory limit concept

        A memory limit restricts the maximum RAM a container can consume to avoid overuse.
      2. Step 2: Compare with other options

        Memory reservation is the soft minimum, CPU limit is unrelated, disabling memory is invalid.
      3. Final Answer:

        It sets the maximum memory the container can use. -> Option A
      4. Quick Check:

        Memory limit = max memory allowed [OK]
      Hint: Memory limit caps max RAM usage, reservation sets minimum [OK]
      Common Mistakes:
      • Confusing memory limit with memory reservation
      • Thinking memory limit affects CPU
      • Assuming memory limit disables memory
      2. Which of the following is the correct Docker run command syntax to set a memory limit of 500MB?
      easy
      A. docker run --mem=500MB myimage
      B. docker run --memory=500m myimage
      C. docker run --memory-limit=500m myimage
      D. docker run --mem-limit=500MB myimage

      Solution

      1. Step 1: Recall Docker memory limit flag

        The correct flag is --memory followed by the size with unit, e.g., 500m for 500MB.
      2. Step 2: Check syntax correctness

        Options A, B, and C use incorrect flag names or units.
      3. Final Answer:

        docker run --memory=500m myimage -> Option B
      4. Quick Check:

        Use --memory=500m for 500MB limit [OK]
      Hint: Use --memory=500m to set 500MB limit correctly [OK]
      Common Mistakes:
      • Using wrong flag names like --mem-limit
      • Using uppercase units like MB instead of m
      • Omitting the equal sign
      3. Given the command docker run --memory=300m --memory-reservation=200m myapp, what happens if the container tries to use 350MB of memory?
      medium
      A. The container is killed because it exceeded the 300MB limit.
      B. The container is allowed to use 350MB without restrictions.
      C. The container is throttled but not killed immediately.
      D. The container automatically increases its memory reservation.

      Solution

      1. Step 1: Understand memory limit vs reservation

        Memory limit (300MB) is the hard max; reservation (200MB) is soft minimum.
      2. Step 2: Analyze container memory usage

        Using 350MB exceeds the 300MB limit, so Docker kills the container.
      3. Final Answer:

        The container is killed because it exceeded the 300MB limit. -> Option A
      4. Quick Check:

        Memory limit exceeded = container killed [OK]
      Hint: Memory limit is max; exceeding it kills container [OK]
      Common Mistakes:
      • Confusing reservation with limit
      • Thinking container is throttled instead of killed
      • Assuming reservation auto-increases
      4. You set --memory-reservation=400m but your container keeps getting killed when using 350MB. What is the likely cause?
      medium
      A. The container is using less memory than reservation, so it is killed.
      B. Memory reservation kills container if usage is below it.
      C. Docker does not support memory reservation on your system.
      D. You forgot to set a memory limit, so default limit is too low.

      Solution

      1. Step 1: Understand memory reservation role

        Memory reservation is a soft minimum, it does not kill containers.
      2. Step 2: Identify missing memory limit effect

        Without a memory limit, Docker may apply a default low limit causing kills.
      3. Final Answer:

        You forgot to set a memory limit, so default limit is too low. -> Option D
      4. Quick Check:

        Missing memory limit causes unexpected kills [OK]
      Hint: Always set memory limit; reservation alone won't prevent kills [OK]
      Common Mistakes:
      • Thinking reservation kills containers
      • Ignoring default memory limits
      • Assuming reservation enforces max memory
      5. You want to run a container that should always have at least 1GB of memory available but never use more than 2GB. Which Docker run options correctly enforce this?
      hard
      A. docker run --memory=1g --memory-reservation=2g mycontainer
      B. docker run --memory-reservation=1g --memory=2g mycontainer
      C. docker run --memory=2g --memory-reservation=1g mycontainer
      D. docker run --memory-reservation=2g --memory=1g mycontainer

      Solution

      1. Step 1: Identify memory reservation and limit roles

        Memory reservation sets soft minimum (1GB), memory limit sets hard max (2GB).
      2. Step 2: Match options to roles

        docker run --memory=2g --memory-reservation=1g mycontainer correctly sets --memory=2g (max) and --memory-reservation=1g (min).
      3. Final Answer:

        docker run --memory=2g --memory-reservation=1g mycontainer -> Option C
      4. Quick Check:

        Limit=2g, Reservation=1g for min and max [OK]
      Hint: Memory limit is max, reservation is min; order matters [OK]
      Common Mistakes:
      • Swapping limit and reservation values
      • Setting reservation higher than limit
      • Confusing units or flags
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard