October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk5 min

Building ferctl top: Kubernetes Resource Usage vs Requests and Limits

ferctl top puts pod CPU and memory usage next to requests and limits so you can see how close each pod is to its configured ceiling. Here is how to read it, where its behavior is still unverified, and how to check the same numbers with kubectl.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

ferctl 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.”

Special 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.

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:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
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.

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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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.

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.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

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.

  1. Get current usage for the namespace: kubectl top pods -n production
  2. 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.
  3. 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.
  4. If step 2 returns nothing for memory, the pod has no memory limit, and no percentage can be computed.
  5. 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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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).

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.