CKAD Application Observability and Maintenance Practice Question
A pod in the 'production' namespace is in a CrashLoopBackOff state. The pod has been running successfully for several days. You run 'kubectl describe pod app-pod -n production' and see the message: 'OOMKilled'. What is the MOST appropriate action to resolve this issue?
⚠ Common exam trap
The CKAD exam often tests the distinction between memory and CPU resources, and the trap here is that candidates may confuse OOMKilled (a memory issue) with a CPU throttling or resource starvation problem, leading them to incorrectly adjust CPU settings instead of memory limits.
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 the memory limit in the pod's container resource specification
The pod is in CrashLoopBackOff due to OOMKilled, meaning the container exceeded its memory limit and was terminated by the Linux kernel's Out-Of-Memory (OOM) killer. The most appropriate action is to increase the memory limit in the pod's container resource specification, as this directly addresses the root cause—insufficient memory allocation—without requiring a full redeployment or affecting other workloads.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Delete and recreate the pod to clear the crash loop
Why it's wrong here
Deleting and recreating the pod only resets its lifecycle state; the new pod is created with the exact same resource limits and the same container image, so it will again be OOMKilled as soon as its memory usage exceeds the configured cgroup limit. If the pod is controlled by a Deployment or ReplicaSet, the controller immediately replaces it with a copy of the same spec, so the crash loop continues unchanged. The only way this action helps is if the memory limit is also modified in the pod template, but the option does not include that change.
- ✓
Increase the memory limit in the pod's container resource specification
Why this is correct
Increasing the memory limit in the container's resource specification directly addresses the root cause of this CrashLoopBackOff: the kernel's out-of-memory killer is terminating the container because its memory usage exceeds the cgroup memory limit. By raising the limit to a value above the container's observed steady-state memory footprint, the OOM kill no longer triggers, assuming the node has enough allocatable memory to grant the new limit. This is the correct remediation because the container is not being killed for CPU or scheduling reasons—it is strictly a memory limit violation.
- ✗
Increase the CPU request for the container
Why it's wrong here
OOMKilled is a memory-related termination caused by the container exceeding its memory cgroup limit, not a CPU issue. Increasing the CPU request only affects CPU scheduling guarantees and the pod's priority in the scheduler; it does nothing to change the memory cgroup limit or the amount of memory available to the container. The kernel OOM killer will still fire when the memory usage exceeds the existing limit, so the CrashLoopBackOff persists. CPU throttling might happen if a CPU limit is set, but that does not lead to OOMKilled.
- ✗
Delete the namespace and redeploy all workloads
Why it's wrong here
Deleting the entire production namespace is a destructive, cluster-wide action that removes all workloads, services, config maps, secrets, and other resources in that namespace, causing broad outage well beyond the single pod. Even after redeploying, the problematic pod's manifest still contains the same insufficient memory limit, so it will be OOMKilled and re-enter CrashLoopBackOff. This approach violates the principle of least blast radius and is entirely disproportionate to fixing one container's memory configuration.
Visual reference
Go deeper
Related to this question
About these practice questions
This CKAD question is part of Courseiva's 160-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
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.