Host Memory Pressure
Category: Memory · Also known as: High Host Memory Metacounter score
WISdom’s composite memory pressure score for the host is high this minute - a single rolled-up health number built from the underlying counters.
What this finding means
Section titled “What this finding means”WISdom’s composite memory pressure score for the host, on a 0 to 100 scale, was high for the minute. This measures memory across the whole machine, including the operating system and every other process, not just this instance’s allocation.
Why it matters
Section titled “Why it matters”Host memory pressure has a specific and very common self-inflicted cause: an unbounded max server memory setting lets SQL Server take memory the operating system needs, and the machine starts paging. The symptom looks like a hardware shortage and the fix is a configuration change, which is why this distinction is worth the separate finding.
How WISdom detects it
Section titled “How WISdom detects it”WISdom rolls the host memory performance counters and wait statistics into one weighted score per minute, then compares it to the four-week maximum for this minute-of-day. The rule is always evaluated and returns a score every minute.
| Collected from | WISdom Host Memory metacounter - a weighted composite of the perf counters and wait stats for memory at the host level. |
| Compared with | Max value for category during 15 minutes before and 15 minutes after of the same minute in the past 4 weeks |
| Related screen | Performance Metrics |
How it is scored
Section titled “How it is scored”This rule is always evaluated, so it reports a value every minute whether or not it is elevated. It contributes an incident score of 2 when the value exceeds the four-week maximum for this minute-of-day.
How to read the numbers
Section titled “How to read the numbers”Score against History max, read next to Database Memory Pressure. Check the instance’s max server memory setting against total host memory before anything else: if they are close, or if max server memory is unset, that is very likely the whole finding.
What normally causes it
Section titled “What normally causes it”- Max server memory unset or set too close to total host memory, starving the operating system.
- Another instance or service on the host holding a large allocation.
- A balloon driver reclaiming memory from the guest on a virtualised host.
- A working set that has genuinely outgrown the machine.
What this finding is not
Section titled “What this finding is not”- Not the same as Database Memory Pressure. A correctly capped instance can be healthy on a host that is short of memory, and vice versa.
- Not a purchase decision until the cap is checked. Adding memory to a host with an uncapped instance simply gives the instance more to take.
- Not always the database’s doing. Confirm which process holds the memory.
What are some possible resolutions?
Section titled “What are some possible resolutions?”The options below are ranked. Option 1 fixes the cause where it lives and costs nothing; option 3 spends money or escalates, so try it last.
1. Cap what SQL Server takes
Section titled “1. Cap what SQL Server takes”An unbounded max server memory setting starves the operating system and reads as host pressure. Set it explicitly and leave the OS headroom.
2. Find the other consumer on the host
Section titled “2. Find the other consumer on the host”Another instance, a service, or a balloon driver. Confirm this before adding memory to solve someone else’s problem.
3. Add host memory
Section titled “3. Add host memory”Only when the instance is correctly capped and the host is still short. Size it from the working set across a full week.