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
Many exam-takers confuse OOMKilled with a CPU-related issue and incorrectly choose to adjust CPU resources, or they may think a simple pod restart will fix the problem, when in fact the memory limit must be increased.
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 with an OOMKilled message, which means the container's memory usage exceeded its configured memory limit. The most appropriate action is to increase the memory limit in the pod's container resource specification so the container has enough memory to run without being terminated by the Out-Of-Memory (OOM) killer.
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 will trigger the controller (e.g., ReplicaSet) to create a new pod using the exact same pod spec, including the unchanged memory limit. Since the memory limit is still set at the value that caused the kernel OOM killer to terminate the container, the new pod will exhaust memory identically and quickly re-enter CrashLoopBackOff. Restarting only resets the process state; it does nothing to reduce the application's memory footprint or raise its allocation ceiling.
- ✗
Increase the CPU request for the container
Why it's wrong here
OOMKilled is a memory-related event: the Linux OOM killer terminated the container because it exceeded the cgroup memory limit configured in the pod's resources.limits.memory. CPU requests are used for scheduling decisions and CPU throttling, not for memory cgroup accounting, so increasing the CPU request leaves the memory limit unchanged. The container will still be killed when its memory usage hits the same cap, making this fix ineffective for resolving memory exhaustion.
- ✓
Increase the memory limit in the pod's container resource specification
Why this is correct
This is correct because the container's memory usage exceeded its configured limit, causing the kernel to invoke the OOM killer and terminate it. Increasing the memory limit in resources.limits.memory raises the cgroup memory ceiling, giving the container a larger allocation before it triggers an OOM kill. However, this is only viable if the node has sufficient allocatable memory; otherwise, the pod may fail to schedule or cause other pods to be evicted due to node pressure.
- ✗
Delete the namespace and redeploy all workloads
Why it's wrong here
Deleting the namespace is a highly destructive operation that removes every Deployment, Service, PVC, Secret, and ConfigMap in it, causing widespread downtime and potential data loss for all workloads in that namespace, not just the crashing pod. Even after redeployment, the original pod's resource limits would likely be restored from the same manifests, leading to the exact same OOMKilled crash loop. This approach is disproportionate and fails to address the root cause; the correct action is to modify the specific pod's memory limit or investigate the application's memory leak.
Visual reference
Go deeper
Related to this question
About these practice questions
Courseiva writes every CKAD question from scratch — 160 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 →
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.