{"id":5366,"date":"2026-03-13T13:01:07","date_gmt":"2026-03-13T20:01:07","guid":{"rendered":"https:\/\/www.sqlskills.com\/blogs\/paul\/?p=5366"},"modified":"2026-03-13T15:12:06","modified_gmt":"2026-03-13T22:12:06","slug":"the-curious-case-of-no-buffer-pool-memory-and-no-os-memory-available","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/paul\/the-curious-case-of-no-buffer-pool-memory-and-no-os-memory-available\/","title":{"rendered":"The Curious Case of&#8230; no buffer pool memory and no OS memory available"},"content":{"rendered":"<p style=\"text-align: justify;\">Jonathan had a client issue recently where SQL Server&#8217;s buffer pool had been forced down to a ridiculously small size, only a few hundred MB, but the OS also showed basically no free memory. Page Life Expectancy was zero! What was going on?<\/p>\n<p style=\"text-align: justify;\">From investigating SQL Server&#8217;s memory usage, the memory manager showed that target and total memory were the same, at only 1.2GB, and lock pages in memory was correctly set. The next thing to check was for ballooning in VMware &#8211; a common cause of memory issues &#8211; but this wasn&#8217;t the problem either.<\/p>\n<p style=\"text-align: justify;\">Next, querying <em>sys.dm_os_sys_memory<\/em> showed almost 100GB in kernel non-paged pool memory. Jonathan immediately guessed that it was a kernel driver memory leak &#8211; based on some deliberate-error-inducing coding he&#8217;d done of kernel drivers &#8211; so the next step was to see what filter drivers were on the system.<\/p>\n<p style=\"text-align: justify;\">You can do this using the command fltmc on any Windows machine. For instance, in a command prompt using &#8216;Run as administrator&#8217; on a Windows 10 laptop, it shows:<\/p>\n<pre>C:\\WINDOWS\\system32&gt;fltmc\r\n\r\nFilter Name                     Num Instances    Altitude    Frame\r\n------------------------------  -------------  ------------  -----\r\nbindflt                                 1       409800         0\r\nUCPD                                   11       385250.5       0\r\nWdFilter                               11       328010         0\r\nstorqosflt                              0       244000         0\r\nwcifs                                   1       189900         0\r\ndbx                                     5       186500         0\r\nCldFlt                                  5       180451         0\r\nFileCrypt                               0       141100         0\r\nluafv                                   1       135000         0\r\nnpsvctrig                               1        46000         0\r\nRsFx0800                                1        41008.00      0\r\nWof                                     8        40700         0\r\nFileInfo                               11        40500         0<\/pre>\n<p style=\"text-align: justify;\">And then you can investigate each driver using the <a href=\"https:\/\/learn.microsoft.com\/en-us\/windows-hardware\/drivers\/ifs\/allocated-altitudes\" target=\"_blank\" rel=\"noopener\">Allocated Filter Altitudes<\/a> list from Microsoft (as they assign a position in the filter driver stack to each filter driver), starting with those with the highest altitudes. From there, you can prove what&#8217;s taking up memory using the PoolMon tool from the Windows Driver Development Kit (see <a href=\"https:\/\/learn.microsoft.com\/en-us\/windows-hardware\/drivers\/debugger\/using-poolmon-to-find-a-kernel-mode-memory-leak?source=recommendations\" target=\"_blank\" rel=\"noopener\">Use PoolMon to Find a Kernel-Mode Memory Leak<\/a>).<\/p>\n<p style=\"text-align: justify;\">Turns out in the client&#8217;s case it was a driver from an old tool that hadn&#8217;t been un-installed &#8211; problem solved!<\/p>\n<p style=\"text-align: justify;\">Bottom line: don&#8217;t have the mindset that what manifests as a problem in SQL Server is always a SQL Server problem, as sometimes the issue is environmental and SQL Server is the unwitting victim of the root cause!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jonathan had a client issue recently where SQL Server&#8217;s buffer pool had been forced down to a ridiculously small size, only a few hundred MB, but the OS also showed basically no free memory. Page Life Expectancy was zero! What was going on? From investigating SQL Server&#8217;s memory usage, the memory manager showed that target [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[115],"tags":[],"class_list":["post-5366","post","type-post","status-publish","format-standard","hentry","category-the-curious-case-of"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The Curious Case of... no buffer pool memory and no OS memory available - Paul S. Randal<\/title>\n<meta name=\"description\" content=\"Investigation into a client issue where a server had no buffer pool memory and no OS memory available - what was the culprit?\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.sqlskills.com\/blogs\/paul\/the-curious-case-of-no-buffer-pool-memory-and-no-os-memory-available\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Curious Case of... no buffer pool memory and no OS memory available - Paul S. Randal\" \/>\n<meta property=\"og:description\" content=\"Investigation into a client issue where a server had no buffer pool memory and no OS memory available - what was the culprit?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqlskills.com\/blogs\/paul\/the-curious-case-of-no-buffer-pool-memory-and-no-os-memory-available\/\" \/>\n<meta property=\"og:site_name\" content=\"Paul S. Randal\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-13T20:01:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-13T22:12:06+00:00\" \/>\n<meta name=\"author\" content=\"Paul Randal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Paul Randal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/the-curious-case-of-no-buffer-pool-memory-and-no-os-memory-available\/\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/the-curious-case-of-no-buffer-pool-memory-and-no-os-memory-available\/\",\"name\":\"The Curious Case of... no buffer pool memory and no OS memory available - Paul S. Randal\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/#website\"},\"datePublished\":\"2026-03-13T20:01:07+00:00\",\"dateModified\":\"2026-03-13T22:12:06+00:00\",\"author\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/#\/schema\/person\/ffcec826c18782e1e0adf173826a7fce\"},\"description\":\"Investigation into a client issue where a server had no buffer pool memory and no OS memory available - what was the culprit?\",\"breadcrumb\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/the-curious-case-of-no-buffer-pool-memory-and-no-os-memory-available\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.sqlskills.com\/blogs\/paul\/the-curious-case-of-no-buffer-pool-memory-and-no-os-memory-available\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/the-curious-case-of-no-buffer-pool-memory-and-no-os-memory-available\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Curious Case of&#8230; no buffer pool memory and no OS memory available\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/#website\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/\",\"name\":\"Paul S. Randal\",\"description\":\"In Recovery...\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/#\/schema\/person\/ffcec826c18782e1e0adf173826a7fce\",\"name\":\"Paul Randal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0b6a266bba2f088f2551ef529293001bd73bf026bc1908b9866728c062beeeb6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0b6a266bba2f088f2551ef529293001bd73bf026bc1908b9866728c062beeeb6?s=96&d=mm&r=g\",\"caption\":\"Paul Randal\"},\"sameAs\":[\"http:\/\/3.209.169.194\/blogs\/paul\"],\"url\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/author\/paul\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The Curious Case of... no buffer pool memory and no OS memory available - Paul S. Randal","description":"Investigation into a client issue where a server had no buffer pool memory and no OS memory available - what was the culprit?","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.sqlskills.com\/blogs\/paul\/the-curious-case-of-no-buffer-pool-memory-and-no-os-memory-available\/","og_locale":"en_US","og_type":"article","og_title":"The Curious Case of... no buffer pool memory and no OS memory available - Paul S. Randal","og_description":"Investigation into a client issue where a server had no buffer pool memory and no OS memory available - what was the culprit?","og_url":"https:\/\/www.sqlskills.com\/blogs\/paul\/the-curious-case-of-no-buffer-pool-memory-and-no-os-memory-available\/","og_site_name":"Paul S. Randal","article_published_time":"2026-03-13T20:01:07+00:00","article_modified_time":"2026-03-13T22:12:06+00:00","author":"Paul Randal","twitter_misc":{"Written by":"Paul Randal","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.sqlskills.com\/blogs\/paul\/the-curious-case-of-no-buffer-pool-memory-and-no-os-memory-available\/","url":"https:\/\/www.sqlskills.com\/blogs\/paul\/the-curious-case-of-no-buffer-pool-memory-and-no-os-memory-available\/","name":"The Curious Case of... no buffer pool memory and no OS memory available - Paul S. Randal","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/paul\/#website"},"datePublished":"2026-03-13T20:01:07+00:00","dateModified":"2026-03-13T22:12:06+00:00","author":{"@id":"https:\/\/www.sqlskills.com\/blogs\/paul\/#\/schema\/person\/ffcec826c18782e1e0adf173826a7fce"},"description":"Investigation into a client issue where a server had no buffer pool memory and no OS memory available - what was the culprit?","breadcrumb":{"@id":"https:\/\/www.sqlskills.com\/blogs\/paul\/the-curious-case-of-no-buffer-pool-memory-and-no-os-memory-available\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqlskills.com\/blogs\/paul\/the-curious-case-of-no-buffer-pool-memory-and-no-os-memory-available\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlskills.com\/blogs\/paul\/the-curious-case-of-no-buffer-pool-memory-and-no-os-memory-available\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqlskills.com\/blogs\/paul\/"},{"@type":"ListItem","position":2,"name":"The Curious Case of&#8230; no buffer pool memory and no OS memory available"}]},{"@type":"WebSite","@id":"https:\/\/www.sqlskills.com\/blogs\/paul\/#website","url":"https:\/\/www.sqlskills.com\/blogs\/paul\/","name":"Paul S. Randal","description":"In Recovery...","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqlskills.com\/blogs\/paul\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.sqlskills.com\/blogs\/paul\/#\/schema\/person\/ffcec826c18782e1e0adf173826a7fce","name":"Paul Randal","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/paul\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0b6a266bba2f088f2551ef529293001bd73bf026bc1908b9866728c062beeeb6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0b6a266bba2f088f2551ef529293001bd73bf026bc1908b9866728c062beeeb6?s=96&d=mm&r=g","caption":"Paul Randal"},"sameAs":["http:\/\/3.209.169.194\/blogs\/paul"],"url":"https:\/\/www.sqlskills.com\/blogs\/paul\/author\/paul\/"}]}},"_links":{"self":[{"href":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-json\/wp\/v2\/posts\/5366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-json\/wp\/v2\/comments?post=5366"}],"version-history":[{"count":0,"href":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-json\/wp\/v2\/posts\/5366\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-json\/wp\/v2\/media?parent=5366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-json\/wp\/v2\/categories?post=5366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-json\/wp\/v2\/tags?post=5366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}