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.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Start with the workload, not a GPU product name. Measure the peak device memory and throughput of representative jobs, count how many must run at once, and decide whether each job needs a whole GPU, a MIG instance, or a time-sliced share. Then calculate nodes from the number of compatible scheduling units per node and add explicit capacity for failures, maintenance, rollout surges, queueing targets, and growth.

Kubernetes normally schedules vendor-advertised GPU devices such as nvidia.com/gpu or amd.com/gpu; it does not let a Pod request an arbitrary number of gigabytes of VRAM through the standard resource API. A job either fits on the selected whole GPU or on a supported partition. The practical sizing question is therefore: which allocation unit fits the measured workload, and how many such units must be available concurrently?

What Kubernetes actually schedules

Kubernetes does not discover GPU hardware by itself. On each accelerator node, an administrator installs the vendor driver and a device plugin. The plugin registers a resource with kubelet; kubelet publishes the allocatable devices in the node status, and the scheduler uses that resource when placing Pods. The registration and advertisement path is documented in the Kubernetes device-plugin documentation.

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

For NVIDIA hardware the resource is commonly nvidia.com/gpu; AMD installations commonly expose amd.com/gpu. The exact resource name comes from the installed plugin, so inspect the cluster rather than assuming a name from an example. A node label or a successful driver installation is not proof that Pods can schedule a GPU: the plugin must be running and must publish allocatable devices.

#1 Best Overall
Sale
ASUS Dual GeForce RTX 5060 Ti 16GB GDDR7 OC Edition Gaming Graphics Card | PCIe 5.0, HDMI 2.1b, DisplayPort 2.1b, 2.5-slot, Axial-tech Fans, 0dB Technology, Dual BIOS
  • AI Performance: 767 AI TOPS
  • OC mode: 2632 MHz (OC mode)/ 2602 MHz (Default mode)
  • Powered by the NVIDIA Blackwell architecture and DLSS 4
  • Axial-tech fan design features a smaller fan hub that facilitates longer blades and a barrier ring that increases downward air pressure
  • A 2.5-slot design maximizes compatibility and cooling efficiency for superior performance in small chassis

The stable Kubernetes GPU guide says to put GPU resources in a container’s limits. If a limit is supplied without a request, Kubernetes uses the limit as the request. If both are present, they must be equal. A minimal request therefore looks like this:

resources:
  limits:
    nvidia.com/gpu: 1

Use node selectors or affinity when a workload requires a particular GPU class, generation, interconnect, or partition profile. Taints and tolerations are useful when GPU nodes should accept only accelerator workloads. The complete scheduling guidance, including these constraints, is in Kubernetes’ Schedule GPUs documentation.

Build a workload inventory before selecting a GPU

A capacity plan is only as good as its workload assumptions. Create an inventory for every job class that will share the cluster. Record the following for each class:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Workload type: training, batch inference, online inference, simulation, rendering, or another accelerator workload.
  • Model and data shape: model version, input dimensions, batch size, sequence or context length, precision, and dataset characteristics.
  • Placement shape: one GPU, several GPUs in one node, or distributed GPUs across nodes.
  • Service objective: throughput, latency, completion time, or a queueing deadline.
  • Concurrency: the peak number of jobs that must run simultaneously, not merely the daily average.
  • Operational behavior: startup spikes, checkpointing, autoscaling, retries, and whether a job can be interrupted and resumed.

Separate pools when classes have sharply different requirements. A large distributed-training job and a small, latency-sensitive inference service may both consume GPU resources, but combining them in one undifferentiated pool can produce fragmentation, noisy neighbors, and poor queue behavior.

Measure peak device memory, not parameter count

Benchmark representative worst-case jobs on a candidate GPU or a technically equivalent device. Capture peak allocated device memory, compute utilization, throughput or latency, and startup and steady-state behavior. Include model weights, activations, temporary workspaces, framework and runtime overhead, and—in sequence-generation systems—the key-value cache. Parameter count alone does not determine the VRAM requirement.

Use the largest realistic batch and context values that the service promises to support. A benchmark that uses a small demonstration input can hide an out-of-memory failure at production dimensions. Record the peak observed allocation and add a margin for allocator fragmentation, version changes, and traffic variation. The resulting number is the minimum usable memory for the allocation unit; advertised board memory is not automatically all available to an application.

Measure compute and data-path demand at the same time

A model can fit in memory and still miss its service target because the GPU is too slow, host preprocessing is under-provisioned, or data cannot reach the device quickly enough. Record GPU compute utilization, memory-bandwidth pressure, CPU utilization, host-to-device transfer behavior, storage read rate, and network traffic. For distributed training, measure collective communication and scaling across the intended number of GPUs, not just single-GPU throughput.

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

Choose GPU memory and type from the measured fit

Choose a specific board or supported partition only after you know the workload’s measured peak. The selected allocation unit must provide enough usable memory with headroom and enough compute or bandwidth to meet the target. Compare exact SKU and platform: a family name can cover variants with different memory capacities, form factors, interconnects, and partition support.

Published accelerator capacities

The following are manufacturer specifications for named HGX components, not workload benchmarks. The totals assume an eight-GPU HGX node.

Rank #2
GIGABYTE GeForce RTX 5060 WINDFORCE OC 8G Graphics Card, Cooling System, 8GB 128-bit GDDR7, PCIe 5.0, Manufactured by NVIDIA, DisplayPort & HDMI - Video Output Interface, GV-N5060WF2OC-8GD Video Card
  • Powered by the NVIDIA Blackwell architecture and DLSS 4
  • Powered by GeForce RTX 5060
  • Integrated with 8GB GDDR7 128bit memory interface
  • PCIe 5.0
  • WINDFORCE cooling system
Accelerator Memory per GPU Memory across eight GPUs Memory technology
NVIDIA H100 SXM 80 GB 640 GB HBM3
NVIDIA H200 SXM 141 GB 1.1 TB HBM3e
NVIDIA B200 SXM 180 GB 1.44 TB HBM3e

These values are listed in NVIDIA’s HGX H100, H200, and B200 components reference. They describe physical accelerator capacity, not the memory a Kubernetes Pod can request directly. A partition profile, system reservation, runtime allocation, or workload overhead can reduce usable memory.

Use memory as a fit test, not as the only selection criterion

Apply this sequence to each candidate:

  1. Take the measured peak device-memory allocation for the job’s worst supported input.
  2. Add a documented margin for allocator fragmentation, framework workspaces, runtime changes, and operational variance.
  3. Confirm that the whole GPU or selected MIG profile has at least that much usable memory.
  4. Benchmark compute throughput, memory bandwidth, and latency on the same workload.
  5. Check the GPU-to-GPU and GPU-to-host topology required by the job.

If a job needs 70 GB at peak and the required margin takes the target above 80 GB, an 80 GB device is not a safe fit even though the nominal number appears close. Conversely, buying a larger-memory GPU does not guarantee better performance if the workload is limited by CPU preprocessing, storage, or network transfer.

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

Translate concurrent jobs into a node count

Convert workloads into allocation units only after deciding how they are allocated. An allocation unit might be one exclusive GPU, one MIG instance, or one time-sliced replica. These units are not interchangeable: a time-sliced replica is shared access to a physical GPU, while an exclusive GPU or MIG instance has different memory and isolation properties.

For a first capacity estimate, use:

minimum_nodes = ceil(required_simultaneous_allocation_units /
                     usable_compatible_allocation_units_per_node)

The equation is a planning baseline, not a performance guarantee. “Required simultaneous allocation units” comes from peak concurrency by job class. “Usable compatible allocation units per node” excludes devices that cannot serve the workload because of memory, topology, partition profile, or policy constraints.

Worked example: exclusive one-GPU jobs

Suppose benchmarked inference jobs each require one whole GPU, peak concurrency is 11, and the selected node has eight compatible GPUs. The minimum pool is ceil(11 / 8) = 2 nodes, providing 16 physical GPUs. If one node must be drainable for maintenance while the service continues, two nodes may be only the arithmetic minimum; the availability target can require a third node.

Worked example: mixed job classes

Suppose a platform has six simultaneous jobs requiring one 80 GB-or-larger GPU and eight smaller jobs that fit a supported partition profile. Do not simply divide 14 by the total number of GPUs. First reserve enough large-memory devices for the six jobs, then calculate the number of compatible partition instances for the eight smaller jobs. If a node’s partition layout cannot provide both profiles at once, separate pools or node groups may be necessary.

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

Distributed jobs need a topology-aware calculation

A job that needs four GPUs in one node is not equivalent to four independent one-GPU jobs. The scheduler must find a node with the required number of compatible devices and the interconnect expected by the framework. A distributed job may also require a fixed number of GPUs across several nodes, high-bandwidth networking, and synchronized startup. Model these as placement shapes in the inventory and benchmark the complete topology.

Whole-node capacity matters as much as GPU count

GPU count is not node capacity. Validate every supporting resource before committing to a node design.

  • Host CPU: data decoding, tokenization, augmentation, networking, and orchestration can starve an otherwise idle accelerator.
  • System RAM: datasets, page caches, communication buffers, and runtime processes consume host memory independently of VRAM.
  • Local storage: local NVMe can reduce startup and checkpoint latency, while network storage may be necessary for shared datasets and durability.
  • PCIe and GPU topology: placement of GPUs, CPUs, and NICs affects host transfers and peer-to-peer communication.
  • GPU interconnect: multi-GPU training can depend on high-bandwidth links; two nodes with the same GPU count can scale differently.
  • Network bandwidth and latency: distributed collectives and remote data access can become the bottleneck before GPU compute is saturated.
  • Power and cooling: accelerator nodes may require rack, electrical, and thermal capacity that ordinary worker pools do not.

NVIDIA’s HGX node-configuration reference shows example whole-system combinations of GPUs, CPUs, system memory, local storage, and network adapters. Treat those configurations as reference architectures, not universal Kubernetes requirements. Your measured workload and facility constraints determine the appropriate balance.

Rank #3
GIGABYTE GeForce RTX 5070 Ti Gaming OC 16G Graphics Card, 16GB 256-bit GDDR7, PCIe 5.0, WINDFORCE Cooling System, GV-N507TGAMING OC-16GD Video Card
  • Powered by the NVIDIA Blackwell architecture and DLSS 4
  • Powered by GeForce RTX 5070 Ti
  • Integrated with 16GB GDDR7 256bit memory interface
  • PCIe 5.0
  • WINDFORCE cooling system

Choose a sharing model deliberately

Sharing can improve utilization, but each mechanism changes the meaning of a “GPU” resource and the failure modes you must operate.

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

Exclusive GPU allocation

An exclusive request assigns a physical device to one Pod according to the device plugin’s policy. It is the simplest model for memory predictability and fault containment, but small jobs can leave unused capacity on a large GPU. Exclusive allocation is often the right baseline for training jobs with high memory use or strict performance targets.

MIG hardware partitions

Multi-Instance GPU (MIG) creates predefined hardware instances on supported GPUs. NVIDIA documents MIG as providing hardware-layer memory and fault isolation between instances. Each profile has a fixed slice of memory and compute, so the scheduler can place a workload only when its measured peak fits that profile. MIG can improve packing for smaller jobs while preserving bounded memory behavior, but it reduces flexibility to combine fragments and requires a supported GPU generation, driver, device-plugin, and configuration.

Time-slicing

NVIDIA’s GPU Operator time-slicing documentation describes time-slicing as interleaving access to a GPU and advertising shared replicas. Unlike MIG, it does not provide hardware memory or fault isolation between replicas. Processes share the underlying device and can compete for compute and memory bandwidth; requesting several shared resources does not promise a proportional share of performance or additional physical memory.

Use time-slicing only when the workloads tolerate interference and the memory behavior is understood. Use MIG when bounded memory and fault isolation are requirements and the hardware supports the needed profiles. Verify limitations and configuration details against the GPU Operator and device-plugin versions deployed in your cluster.

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

Install and verify the Kubernetes GPU path

Before benchmarking application performance, prove that the cluster exposes the intended resource correctly.

  1. Prepare the node image: install the vendor’s supported GPU driver and confirm that the operating system can enumerate every intended device.
  2. Deploy the device plugin: install the vendor plugin or an operator that manages it. Match its compatibility requirements to the Kubernetes and driver versions.
  3. Inspect allocatable resources: run kubectl describe node <gpu-node> and confirm that the expected resource appears under Allocatable. A missing resource indicates a driver, plugin, registration, or health problem rather than a scheduling-policy problem.
  4. Label and taint nodes: apply labels for GPU model, generation, partition profile, or topology, and taint dedicated GPU nodes if ordinary workloads should not land there.
  5. Run a smoke-test Pod: request one GPU in limits, add the required node selector or affinity, and verify that the container can enumerate the device.
  6. Run a production-shaped benchmark: test the real model, batch, context length, data path, and concurrency instead of relying on the smoke test.

A simple Pod fragment is:

apiVersion: v1
kind: Pod
metadata:
  name: gpu-smoke-test
spec:
  restartPolicy: Never
  nodeSelector:
    accelerator: nvidia
  containers:
    - name: test
      image: your-tested-image:tag
      command: ["sh", "-c", "your-gpu-check-command"]
      resources:
        limits:
          nvidia.com/gpu: 1

Replace the image and check command with versions tested for your driver and runtime. The manifest demonstrates the resource shape; it does not establish a universal image, command, or compatibility matrix.

Add operational headroom to the arithmetic minimum

After calculating the minimum nodes, add capacity for the service level you actually promise. Keep the additions explicit so a future change in assumptions does not silently consume the safety margin.

  • Failure tolerance: retain enough spare capacity to lose a node or an accelerator without violating the workload objective.
  • Maintenance: account for draining, driver updates, firmware work, and hardware replacement while jobs continue.
  • Rollout surge: leave room for old and new Pods to coexist during a deployment or model rollout.
  • Queueing target: add capacity if jobs must start within a defined waiting time rather than merely complete eventually.
  • Growth: include forecast demand and the lead time for procurement, quota increases, or new cluster capacity.
  • Fragmentation: reserve compatible profiles, not just total GPUs, when jobs have different memory or topology requirements.

Load-test the resulting pool with the expected mix and a failure scenario. Observe queue wait, scheduling failures, GPU memory pressure, compute utilization, storage throughput, network behavior, and recovery time. Adjust the headroom when measured service objectives differ from the plan.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
ASUS TUF Gaming GeForce RTX 5070 12GB GDDR7 OC EditionGaming Graphics Card | PCIe 5.0, HDMI/DP 2.1, 3.125-slot, Military-grade Components, Protective PCB Coating, Axial-tech Fans
  • Powered by the NVIDIA Blackwell architecture and DLSS 4 OC mode: 2640MHz/Default mode: 2610MHz (Boost Clock)
  • Military-grade components deliver rock-solid power and longer lifespan for ultimate durability
  • Protective PCB coating helps protect against short circuits caused by moisture, dust, or debris
  • 3.125-slot design with massive fin array optimized for airflow from three Axial-tech fans
  • Phase-change GPU thermal pad helps ensure optimal thermal performance and longevity, outlasting traditional thermal paste for graphics cards under heavy loads
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Diagnose common sizing and scheduling failures

Pods remain Pending with an apparently idle GPU

Inspect the Pod events and node allocatable resources. Common causes include a device plugin that is not registered, a resource-name mismatch, a taint without a matching toleration, an affinity rule that excludes all compatible nodes, or a request for a GPU profile that no node can provide. Check both kubectl describe pod <pod> and kubectl describe node <node>; a dashboard showing “GPU utilization” does not prove that the scheduler sees an allocatable device.

The job starts and then runs out of memory

Compare the failing input with the benchmark envelope. Check batch size, sequence length, KV-cache growth, precision, framework version, and concurrent processes. If the workload uses MIG, compare its peak allocation with the selected profile rather than the parent GPU’s total memory. Increase the allocation unit, reduce the workload’s memory demand, or split the job only if the framework supports that distribution.

Several time-sliced jobs interfere with one another

Time-slicing has no MIG-style memory or fault isolation. Measure per-job latency and throughput under the intended mix, then lower the replica density, move sensitive workloads to exclusive devices, or adopt MIG where supported. Do not infer fair compute sharing from the number of advertised replicas.

Multi-GPU training scales poorly

Check GPU-to-GPU links, PCIe placement, NIC locality, collective communication, host CPU saturation, and data-loading throughput. If scaling changes when GPUs are moved between nodes, topology or network bandwidth—not the nominal GPU count—may be limiting performance. Rebenchmark on the exact node layout you plan to operate.

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

Capacity disappears during upgrades

Review the drain and rollout sequence, Pod disruption budgets, autoscaler limits, and spare-node policy. A pool sized exactly to peak demand cannot usually tolerate a node drain and a deployment surge at the same time. Encode the required spare capacity in node-group limits and maintenance procedures.

A practical decision framework

Decision Evidence to collect Resulting action
Does the job fit in memory? Peak device allocation for the worst supported input, plus margin Reject any whole GPU or partition profile below the usable requirement
Is performance sufficient? Throughput, latency, compute utilization, and memory-bandwidth measurements Select the smallest class that meets the service target, not merely the capacity target
How should devices be shared? Isolation, interference tolerance, profile support, and workload size Use exclusive allocation, MIG, or time-slicing according to the measured need
How many devices are needed? Peak concurrent jobs by allocation class Convert each class into compatible allocation units
How many nodes are needed? Usable compatible units per node and placement constraints Apply the ceiling equation, then add availability and growth headroom
Will the node sustain the workload? CPU, RAM, storage, topology, network, power, and cooling measurements Resize the whole node or split pools before production rollout

What to verify before committing to hardware or cloud capacity

GPU specifications, Kubernetes behavior, operator configuration, cloud quotas, regional offerings, prices, and product availability change. Verify the exact Kubernetes release, driver, device-plugin or GPU Operator release, supported partition profiles, and the node image you will deploy. Confirm that the required SKU is available in the intended region or data center and that your quota, power, and network design can support it.

For a concrete purchase or reservation, rerun the benchmark on the candidate system. Record the exact GPU SKU, memory profile, number of GPUs per node, host CPU and RAM, local storage, NICs, interconnect, and failure-domain placement. Keep those details with the capacity model so a hardware refresh does not invalidate the assumptions silently.

Frequently Asked Questions

Can Kubernetes request 40 GB of VRAM from a 80 GB GPU?

Not through the standard GPU resource interface. Kubernetes schedules the device resource exposed by the plugin. Use a whole GPU or a supported partition such as a MIG profile, and validate that the workload fits the partition’s usable memory.

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

Does adding a second time-sliced GPU replica provide twice the performance?

No. Time-sliced replicas share the same physical GPU and do not provide proportional compute or independent memory. Measure the workload under the intended sharing density.

Is the arithmetic node count enough for production?

It is only the minimum implied by concurrent allocation units. Add explicit capacity for node failures, maintenance, rollout surges, queueing objectives, fragmentation, and growth, then load-test the pool.

Quick Recap

SaleBestseller No. 1
ASUS Dual GeForce RTX 5060 Ti 16GB GDDR7 OC Edition Gaming Graphics Card | PCIe 5.0, HDMI 2.1b, DisplayPort 2.1b, 2.5-slot, Axial-tech Fans, 0dB Technology, Dual BIOS
ASUS Dual GeForce RTX 5060 Ti 16GB GDDR7 OC Edition Gaming Graphics Card | PCIe 5.0, HDMI 2.1b, DisplayPort 2.1b, 2.5-slot, Axial-tech Fans, 0dB Technology, Dual BIOS
AI Performance: 767 AI TOPS; OC mode: 2632 MHz (OC mode)/ 2602 MHz (Default mode); Powered by the NVIDIA Blackwell architecture and DLSS 4
$765.99
Bestseller No. 2
GIGABYTE GeForce RTX 5060 WINDFORCE OC 8G Graphics Card, Cooling System, 8GB 128-bit GDDR7, PCIe 5.0, Manufactured by NVIDIA, DisplayPort & HDMI - Video Output Interface, GV-N5060WF2OC-8GD Video Card
GIGABYTE GeForce RTX 5060 WINDFORCE OC 8G Graphics Card, Cooling System, 8GB 128-bit GDDR7, PCIe 5.0, Manufactured by NVIDIA, DisplayPort & HDMI - Video Output Interface, GV-N5060WF2OC-8GD Video Card
Powered by the NVIDIA Blackwell architecture and DLSS 4; Powered by GeForce RTX 5060; Integrated with 8GB GDDR7 128bit memory interface
$495.99
Bestseller No. 3
GIGABYTE GeForce RTX 5070 Ti Gaming OC 16G Graphics Card, 16GB 256-bit GDDR7, PCIe 5.0, WINDFORCE Cooling System, GV-N507TGAMING OC-16GD Video Card
GIGABYTE GeForce RTX 5070 Ti Gaming OC 16G Graphics Card, 16GB 256-bit GDDR7, PCIe 5.0, WINDFORCE Cooling System, GV-N507TGAMING OC-16GD Video Card
Powered by the NVIDIA Blackwell architecture and DLSS 4; Powered by GeForce RTX 5070 Ti; Integrated with 16GB GDDR7 256bit memory interface
$1,249.99
Bestseller No. 4
ASUS TUF Gaming GeForce RTX 5070 12GB GDDR7 OC EditionGaming Graphics Card | PCIe 5.0, HDMI/DP 2.1, 3.125-slot, Military-grade Components, Protective PCB Coating, Axial-tech Fans
ASUS TUF Gaming GeForce RTX 5070 12GB GDDR7 OC EditionGaming Graphics Card | PCIe 5.0, HDMI/DP 2.1, 3.125-slot, Military-grade Components, Protective PCB Coating, Axial-tech Fans
3.125-slot design with massive fin array optimized for airflow from three Axial-tech fans; Auto-Extreme precision automated manufacturing helps ensure higher reliability
$937.39

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.