Courseiva

CKAD Application Design and Build Practice Question

You have a pod that runs a single container with the following resource limits: memory: 256Mi, cpu: 500m. The container is consistently using 300Mi of memory and 300m of CPU. The pod is running but you want to avoid OOMKilled. Which change should you make?

⚠ Common exam trap

A common mix-up: candidates confuse CPU and memory resource management, thinking that increasing CPU limits can solve memory-related OOM kills, or that requests alone (without adjusting limits) can prevent termination.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

Increase memory limit to 512Mi

The container is consistently using 300Mi of memory, which exceeds the current memory limit of 256Mi. When a container exceeds its memory limit, the kernel's OOM killer terminates the process (OOMKilled). Increasing the limit to 512Mi provides headroom above the actual usage, preventing OOM kills while allowing the container to continue running.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✓

    Increase memory limit to 512Mi

    Why this is correct

    The container is being OOMKilled because its memory usage exceeds the current limit, triggering the kernel OOM killer. Raising the limit to 512Mi provides sufficient headroom for the container's observed usage, allowing the process to continue running. This is only safe if the node has enough allocatable memory to accommodate the new limit.

  • ✗

    Set memory request to 128Mi and keep limit at 256Mi

    Why it's wrong here

    Setting a lower memory request does not alter the hard limit of 256Mi; the Linux cgroup memory limit still enforces that cap. If the container's actual memory footprint exceeds 256Mi, it will still be terminated by the OOM killer, regardless of the request value. Additionally, a lower request only affects scheduling and QoS class, not the runtime enforcement that caused the kill.

  • ✗

    Decrease memory limit to 128Mi

    Why it's wrong here

    Decreasing the memory limit to 128Mi tightens the cgroup constraint, so the container will cross the threshold even sooner and be OOMKilled faster. It does not cure the underlying problem of the process needing more memory; it simply moves the failure earlier. Since the container is clearly using more than 128Mi, this change guarantees continued or more frequent termination.

  • ✗

    Increase CPU limit to 1000m

    Why it's wrong here

    The OOMKilled status specifically indicates a memory-induced termination, not a CPU deficiency. CPU limits in Kubernetes cause throttling when exceeded, but they do not cause a process to be killed; only memory limit violations trigger the OOM killer. Therefore, increasing the CPU limit to 1000m will have no effect on the container's memory overcommitment and will not prevent its termination.

About these practice questions

Courseiva writes every CKAD question from scratch — 826 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This CKAD practice question is part of Courseiva's free CNCF certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the CKAD exam.