Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesferctl top, as described in Fer Rios’s article on building it (indexed version updated August 2, 2026), puts each pod’s current CPU and memory usage in the same table as its configured requests and limits, then adds a percent-of-limit figure and a status flag. The reason this matters is that a raw reading tells you very little on its own. A pod using 490 MiB of memory is unremarkable if its limit is 2 GiB and close to the edge if its limit is 512 MiB. Plain kubectl top shows only the usage half of that comparison.
How close to the edge are you?
kubectl top pods reports how much CPU and memory each pod is using right now. It does not print the pod’s requests or limits, so answering the question means running a second command and doing the division yourself. The command also has a hard prerequisite. The official kubectl reference for top states:
As an Amazon Associate I earn from qualifying purchases.
“This command requires Metrics Server to be correctly configured and working on the server.”
PerformancePC Slower Than It Used to Be?DriversCrashes, No Sound, or Screen Glitches?PerformanceWindows Errors? Fix Them Before They SpreadSpecial offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Metrics can also lag behind reality. Pod metrics may be unavailable for a few minutes after a pod is created, because of the metrics pipeline delay, so an empty result on a brand-new pod is not necessarily an error.
#1 Best Overall
Usage, requests and limits are three different numbers
Most confusion about pod resources comes from treating these three values as interchangeable. They answer different questions and come from different places.
| Quantity | What it represents | Where it comes from | What it cannot tell you |
|---|---|---|---|
| Usage | Consumption observed at the time of the reading | The Metrics API, served through Metrics Server | Whether the pod is near its limit, unless the limit is also known |
| Request | The amount reserved for the pod when the scheduler decides where it fits | The pod spec | How much the pod actually uses |
| Limit | A configured ceiling that Kubernetes enforces | The pod spec | How much the pod actually uses |
Kubernetes documentation (“Resource Management for Pods and Containers,” accessed October 7, 2026) describes two points that shape how you should read the table. The scheduler uses requests alone. Memory consumed above a request is not counted when the scheduler decides whether another pod fits on a node, so a pod can run well above its request and still be below its limit. Limits are not all enforced the same way. A container that exceeds its CPU limit is throttled. A container that exceeds its memory limit can be terminated. A CPU limit is not a kill switch, and a memory limit is not a throttle.
What the ferctl top table shows
The article describes columns for CPU and memory, each with usage, request and limit, plus a percent-of-limit column and a status indicator. The example that carries the article’s teaching point is a memory row:
| Memory usage | Memory request | Memory limit | Percent of limit | Status |
|---|---|---|---|---|
| 490 MiB | not stated in the article’s example | 512 MiB | 95% | critical |
The article also describes an all-namespace mode alongside the namespaced form, ferctl top -n production, and a --warning-percent option that sets the threshold at which a row is flagged. These details come from the article’s indexed text. The full page was not available for verification, and this article does not confirm ferctl’s source code.
Rank #3
How ferctl is described as built
According to the article, the tool is written in Go and organized into four layers:
- A pod-row data model that holds usage, requests, limits and derived values for each pod.
- A command layer that handles flags and output.
- Kubernetes clients that retrieve pod specs and metrics.
- A runner that correlates the listed pods with their metrics before building the rows.
The correlation step is where mismatches can occur. A pod that appears in the spec listing but has no metrics yet, or the reverse, has to be handled explicitly, and the article’s indexed text does not show how it is handled.
Reading the percentage correctly
Percent of limit is usage divided by limit, multiplied by 100. The article’s example is 490 MiB against 512 MiB, which works out to 95.7%. The table displays 95%, which suggests the figure is truncated rather than rounded. Confirm the convention in the build you use before quoting the number in a report.
Free tools Windows power users keep installed
One-click scans. No signup required.
What a zero means when there is no memory limit
If a pod has no memory limit, the article says ferctl displays 0Mi and 0%. This is a display convention meaning “no configured limit.” It is not a measurement that the pod uses no memory. A percentage needs a denominator, and when the limit is absent there is none, so a 0% reading should never be read as healthy headroom.
Best Value
What the warning status does and does not mean
The status thresholds, including the warning percentage you set with --warning-percent, are choices made by the tool, not Kubernetes standards. Kubernetes does not define a safe percentage of limit. A row marked critical at 95% means little headroom remains under that limit. It does not show that the pod will fail or that an incident is likely.
Cases the indexed article does not settle
- Init containers. The adjacent kubectl-resources project (howardjohn/kubectl-resources) states that it does not account for init containers. This article does not confirm whether ferctl does. Init containers can change the effective request the scheduler uses, so a sum taken over regular containers alone may understate what a pod reserves.
- Pod-level resource fields. Kubernetes supports pod-level requests and limits when the relevant feature is enabled, and for a resource these are generally described as the sum across containers. Whether ferctl reads pod-level fields, and which Kubernetes versions expose them, should be checked against your cluster.
- Missing or partial metrics. The indexed article documents the no-memory-limit display. It does not establish how the tool renders a pod whose metrics are missing, stale or partly available.
- Metrics Server health. If Metrics Server is absent or unhealthy, the usage column has no source, regardless of what the spec shows.
Checking the same numbers by hand
You can reproduce the table’s logic with stock kubectl. This is useful for verifying a single pod before trusting a new tool.
- Get current usage for the namespace:
kubectl top pods -n production - Get the limits for one pod:
kubectl get pod POD_NAME -n production -o jsonpath='{.spec.containers[*].resources.limits}'. Replace POD_NAME with the pod you are checking. The output lists the limits for each container. - Divide the usage from step 1 by the limit from step 2, then multiply by 100. For the article’s example, 490 / 512 × 100 gives 95.7.
- If step 2 returns nothing for memory, the pod has no memory limit, and no percentage can be computed.
- If step 1 returns no data at all, go back to the Metrics Server prerequisite above before investigating the pod.
When a point-in-time view is enough
A combined table answers one question well: is this pod close to its configured ceiling right now? It does not show whether usage is rising, whether it spikes briefly, or how it compared last week. For those questions, a time-series monitoring system is the right tool, and a snapshot like ferctl top is a complement to it rather than a replacement. The adjacent kubectl-resources project shows that aggregation at container, pod, namespace or node level is a separate design choice. Neither tool establishes that a single command is required for this task.
Use the combined view to decide which pods deserve a closer look, then confirm the decision with the limit you configured and the behavior you observe over time.
Sources cited in this article: Fer Rios, “Building ferctl top: Kubernetes resource usage vs requests and limits” (updated August 2, 2026, indexed version); Kubernetes documentation, “Resource Management for Pods and Containers” (accessed October 7, 2026); Kubernetes generated kubectl reference, top command (accessed October 7, 2026); and the howardjohn/kubectl-resources README (accessed October 7, 2026).
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




