Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minuteA Docker Swarm task can stay Pending even when a running container appears to use almost no memory: Swarm schedules against configured resource reservations, not just the live usage shown by docker stats. In a single-node lab reported by Praneeth Kodumangulla, one service used about 480 KiB at runtime, but its reservation left too little schedulable capacity for a second service. The figures below describe that reported test, not an independent reproduction or a general performance benchmark.
Why can a service be Pending when memory use is low?
Runtime usage and a service’s reservation are different measurements. docker stats reports what a running container is using now; a reservation is a declared resource requirement that Swarm considers when deciding whether a node can accept a task. Docker documents that resource requirements affect service placement and that a service remains pending when no available node can meet its memory or CPU reservation. See Docker’s service deployment documentation.
As an Amazon Associate I earn from qualifying purchases.
As Docker puts it: “If no available nodes can satisfy the requirement (for instance, if you request 4 CPUs and no node in the swarm has 4 CPUs), the service remains in a pending state until an appropriate node is available to run its tasks.” The scheduler is answering whether the declared request fits an eligible node—not how much memory an existing task happens to be consuming at that instant.
Free tools Windows power users keep installed
One-click scans. No signup required.
What happened in the reported 480 KiB test?
Praneeth Kodumangulla’s August 27, 2026 article describes a disposable, single-node Swarm lab with 4 CPUs and 5.772 GiB of memory. It reports Docker client version 29.4.3 and server version 29.2.1, and used an Alpine container sleeping in a loop. The numbers in this table are the author’s reported results, not independently verified measurements. See the lab report.
#1 Best Overall
- Capacity: 16GB (2x 8GB Modules) | Type: DDR3 240-Pin | Speed: 1600MHz PC3-12800 / (PC3-12800E) | ECC Type: ECC-UDIMM (ECC Unbuffered DIMM) | Rank: 2Rx8 (Dual Rank x8) | Voltage: 1.35V
- Designed for ECC UDIMM Compatible Servers/Workstations (Rated Speeds & ECC Capabilities are CPU Dependent). Not Compatible with Desktops/Laptops.
- ECC Types can not be mixed | All installed modules must be ECC UDIMMs in order to function properly | A maximum of eight ranks per memory channel can be installed at once
- All A-Tech memory modules undergo stringent quality control testing to ensure dependable and reliable performance
- Backed by A-Tech's Limited Lifetime Warranty + Tech Support Team available to help before and after your purchase
| Reported setup | Reservations | Reported outcome |
|---|---|---|
| Service A alone | 60% of node memory, reported as 3.463 GiB | Runtime stats showed about 480 KiB, 0.01% of node memory, and 0.00% CPU. |
| Service A plus Service B | Service B requested 50%, or 2.886 GiB; combined reservations were about 6.349 GiB, approximately 110% of reported node capacity. | Service B remained pending. docker service ps showed no suitable node (insufficient resources on 1 node). |
| Service A plus Service B after the change | Service B’s reservation was reduced to 20%; combined reservations were reported as 80%, or about 4.617 GiB. | The author reports both services ran, with each container still around 480 KiB at runtime. |
The mismatch explains the apparent contradiction: very low current usage did not cancel out the resources already reserved in the service definitions. The reported test shows that changing a reservation can affect schedulability; it does not establish that 20% is an appropriate reservation for other workloads.
How to diagnose a Swarm task stuck in Pending
- Read the task’s detailed error. Run
docker service ps --no-trunc <service>and inspect the task state and error message. Confirm whether it reports insufficient resources or a different scheduling problem. - Check the service’s reservations. Review the service configuration and compare its CPU and memory reservations with the resources Swarm can schedule on eligible nodes. Consider the reservations of other services as well as the new task’s request.
- Check node eligibility. Verify that candidate nodes are available and that placement constraints or preferences do not exclude nodes that otherwise have capacity. Docker identifies resource requirements and placement conditions as inputs to service placement.
- Consider other pending causes. Insufficient reservation capacity is not the only reason a task can remain pending; Docker notes that image availability and other conditions can also prevent a task from running.
- Choose a change that preserves workload needs. If the reservation exceeds what the task needs, right-size it based on the workload’s real resource requirements. If capacity is genuinely insufficient, add an eligible node with adequate capacity or change the workload or placement requirements appropriately.
Should you lower the reservation?
Only if the declared reservation is higher than the workload’s actual needs and lowering it still leaves appropriate capacity for the task. The lab report’s reservation change resolved that test’s scheduling condition without adding a node or memory. It is not a production sizing rule: a low observed value from a sleeping test container does not establish the resources an active workload will need.
Rank #2
- A-Tech RAM Memory compatible for select DDR4 Server and Workstation systems only; (*WILL NOT WORK with Desktop or Laptop Computers/PCs*)
- 32GB RAM Kit (2 x 16GB Modules); DDR4 DIMM 288 Pin; Speeds up to 2133MHz PC4-17000 (PC4-2133P)
- ECC Unbuffered UDIMM; 2Rx8 - Dual Rank x8; JEDEC DDR4 standard 1.2V
- Improves system performance, workload capacity, and reduces bottlenecks by increasing memory (RAM) resources
- Note: This memory is ECC Unbuffered and cannot be mixed with different ECC types such as ECC Registered, ECC Load Reduced, or Non-ECC Unbuffered; (Memory compatibility can vary among different system models and their installed components; please verify compatibility and follow memory channel guidelines to ensure maximum performance)
Use the reservation to express the workload’s requirements, then evaluate whether an eligible node can honor them while retaining needed headroom. Lowering a reservation just to clear Pending can make placement possible without making the workload adequately provisioned.
What this does—and does not—mean for autoscaling
A possible operational mismatch arises if Swarm blocks placement because declared reservations are full while an external autoscaler reacts to host utilization. Low host usage alone may not tell that autoscaler that Swarm needs more schedulable reserved capacity. The cited lab did not implement or benchmark an autoscaler, so it does not establish how any particular autoscaler, threshold, or scale-out policy would behave.
Quick Recap
Rank #3
- A-Tech RAM Memory compatible for select DDR5 Server systems; (WILL NOT WORK with Desktop Computers/PCs or Laptop Computers)
- Single 64GB RAM Module; DDR5 DIMM 288 Pin; Speeds up to 5600MHz PC5-44800 (PC5-5600B)
- ECC Registered RDIMM; 2Rx4 (EC8, 10x4) - Dual Rank x4; JEDEC DDR5 standard 1.1V
- Improves system performance, workload capacity, and reduces bottlenecks by increasing memory (RAM) resources
- Note: EC8 (10x4) ECC Registered modules cannot be mixed with EC4 (9x4) ECC Registered modules or with different ECC types such as ECC Unbuffered, ECC Load Reduced or Non-ECC Unbuffered; (Memory compatibility can vary among different system models and their installed components; please verify compatibility and follow memory channel guidelines to ensure maximum performance)
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.




