# Channels, ranks and shared graphics memory: why adding RAM can feel slower

> How channel population changes bandwidth, what ranks do, how integrated graphics steals memory bandwidth, and how to check the layout Windows sees.

**Tested on**

- Build: 26300.9457
- Edition: Pro (26H2)
- Architecture: x64
- Evidence: E1
- Verified: 2026-10-29

## The short answer

Memory capacity is not the only thing that matters. Three properties decide real bandwidth:

1. **Channels populated** — two matched sticks beat one bigger stick.
2. **Ranks per channel** — affects how the controller interleaves access.
3. **Speed and timings actually configured** — which the firmware, not Windows, decides.

A single 32GB stick can be slower than two 16GB sticks in every workload that streams data. That is the most common "I upgraded and it got slower" story, and it is a layout mistake, not a faulty part.

## What a channel actually is

A memory channel is an independent path from the CPU's memory controller to a set of slots. Two channels can transfer simultaneously; one channel cannot.

- **Dual channel**: usually slots 2 and 4 (A2/B2) on a four-slot board. Using 1 and 2 often runs single-channel.
- **Quad channel**: workstation/server platforms; population rules are in the board manual and are not optional.
- **Flex mode**: some laptops run part dual-channel, part single-channel when capacities differ.

Check what Windows sees — `BankLabel`/`DeviceLocator` reveal the physical layout:

```powershell
Get-CimInstance Win32_PhysicalMemory |
  Select-Object BankLabel,DeviceLocator,Capacity,Speed,ConfiguredClockSpeed,PartNumber
Get-CimInstance Win32_PhysicalMemoryArray | Select-Object MemoryDevices,MaxCapacity
```

If `MemoryDevices` is 4 and you see two modules with the same `BankLabel` family in adjacent slots, you are probably single-channel. The board manual is the authority.

## Ranks: the invisible spec

A **rank** is a group of memory chips driven together. Modules come as single-rank (1R), dual-rank (2R) or quad-rank (4R).

- More ranks per channel can improve interleaving at the cost of higher load on the controller.
- Four dual-rank DIMMs on a consumer board is the classic "XMP won't hold" configuration.
- Server RDIMMs add a register buffer, allowing more ranks per channel — which is why servers can carry far more memory.

It is rarely listed in marketing copy. It is in the module's part number and the board's QVL.

## Shared graphics memory

Integrated GPUs have no dedicated VRAM. They use system RAM for the frame buffer and textures, and the driver reserves a portion.

Consequences:

- **Bandwidth is shared**: the iGPU competes with the CPU for the same channels.
- **Capacity is reserved**: a machine with 16GB may show noticeably less usable RAM once the iGPU reserves its share.
- **Single-channel hurts iGPU performance disproportionately** — graphics is bandwidth-hungry, far more than office work.

```powershell
# adapter memory as Windows reports it
Get-CimInstance Win32_VideoController | Select-Object Name,AdapterRAM,DriverVersion
# what the OS can actually use
Get-CimInstance Win32_OperatingSystem | Select-Object TotalVisibleMemorySize,FreePhysicalMemory
```

`AdapterRAM` is unreliable above 4GB (32-bit field), so treat it as a hint for integrated adapters, not a specification.

## Why "adding RAM felt slower"

| What happened | Why it felt slower |
|---|---|
| One 32GB stick replaced two 8GB sticks | Dropped from dual to single channel |
| Added a mismatched stick | Firmware dropped to the slower speed/timings for both |
| Moved sticks to the wrong slots | Single channel, or ranks misconfigured |
| 4 DIMMs on a 2-DIMM-rated board | Memory controller could not hold the rated speed |
| iGPU now reserves more | Less usable RAM than the sticker suggests |

> **Tip: Buy matched kits, populate by the manual**
>
> Two sticks from one kit are tested together. Population order is printed in the board manual and matters more than most people expect — the "wrong" slots are a real, measurable downgrade, not superstition.

## A quick sanity check after any upgrade

```powershell
# capacity and configured speed per module
Get-CimInstance Win32_PhysicalMemory | Select-Object DeviceLocator,Capacity,Speed,ConfiguredClockSpeed

# does the total match what you paid for, minus iGPU reservation?
Get-CimInstance Win32_OperatingSystem | Select-Object @{n='VisibleGB';e={[math]::Round($_.TotalVisibleMemorySize/1MB,1)}}

# is the machine paging more than before?
Get-Counter '\Memory\Available MBytes','\Memory\Pages/sec' -MaxSamples 3
```

If `ConfiguredClockSpeed` dropped after adding a stick, that is the firmware protecting itself — remove the mismatched module or accept the lower speed.

## Related

- [XMP and stability](https://windows.homes/en/hardware/ram/xmp-expo/)
- [Memory compression and page file](https://windows.homes/en/hardware/ram/compression-pagefile/)
- [RAM sizing](https://windows.homes/en/hardware/ram/)

## Lab boundary

E1. Channel and rank behaviour is a platform property documented by board and CPU vendors; Windows exposes the layout but not the rank. The lab's virtual machines present a single synthetic memory range, so no channel configuration was tested.

## Sources

- [Microsoft Learn — Win32_PhysicalMemory](https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32-physicalmemory)
- [Microsoft Learn — Memory management](https://learn.microsoft.com/en-us/windows/win32/memory/memory-management)
- [Microsoft Learn — Windows 11 requirements](https://learn.microsoft.com/en-us/windows/whats-new/windows-11-requirements)

---

Source: https://windows.homes/en/hardware/ram/channels-uma/
