IMPORTANT: To obtain the most accurate results, follow the instructions below accurately. Starting PoolMon changes the data, therefore you must let it run until it reaches a steady state and the data is reliable.
#POOLMON.EXE SERVER 2008 INSTALL#
Install PoolMon on the computer you want to test, following the Microsoft product instructions.
![poolmon.exe server 2008 poolmon.exe server 2008](https://www.itprotoday.com/sites/itprotoday.com/files/styles/article_featured_retina/public/uploads/2008/12/error595x335_0.jpg)
#POOLMON.EXE SERVER 2008 DRIVER#
Poolmon.exe is contained in Microsoft Windows Driver Kit (WDK).Type the following command and press ENTER:.Click Start, Run, type cmd, and press ENTER.
![poolmon.exe server 2008 poolmon.exe server 2008](https://slidetodoc.com/presentation_image_h/75f8605cffb389829395567a408c2001/image-21.jpg)
Enable pool tagging by using the command line:.In the dialog box, enable Enable Pool Tagging.Enable pool tagging by using a dialog box:.If you are using Windows 2003 or later, skip to Step 2. If you are using XP, enable pool tagging as follows.You must enable Gflags.exe to enable pool tagging. Pool tagging is permanently enabled on Windows Server 2003 and later. IMHO this should not be a cause for concern if you didn't overprovision too much of your memory across all VMs.IMPORTANT: This applies if you want to use PoolMon on Windows XP or earlier. You can test it by opening some large file or memory-intensive app inside that virtual machine - the DriverLocked memory should go down as some other metric increases. In your specific case, Driver Locked is probably one of Hyper-V drivers, which locked all unused memory (assigned to VM, but unused by it atm), so it can "give it" to some other VM configured with Dynamic Memory, or even to host OS, whichever needs it at the moment. See if you have Dynamic Memory for your Virtual Machine enabled.ĭriver Locked is a figure you should concentrate on. Well, I have every imaginable version of SQL Server on premises, from 2005 to 2016, and I have not seen any memory leaks as huge as 100% of actually used mem.
![poolmon.exe server 2008 poolmon.exe server 2008](http://de.web.img3.acsta.net/medias/nmedia/18/76/58/15/19290851.jpg)
Like I said, wild guess, but it's the best I can do with the data I have. Poolmon.exe, part of the Windows SDK/DDK, can help diagnose. There is yet another possibility that it is not a hypervisor dynamic memory driver at all, but instead just some rogue device driver.ĭrivers usually allocate memory that is "tagged" with a 3 or 4-character tag that gives a hint as to what driver was responsible for making the allocation.
![poolmon.exe server 2008 poolmon.exe server 2008](https://i.stack.imgur.com/JvEwD.png)
You also have to consider the possibility that the balloon driver is behaving as designed, and it's trying to make your server page out memory because it desperately needs to give memory to another VM on the same host. I don't have enough data to be able to tell you why it's doing this, but there are plenty of cases and VMware support KBs, like this one, that specifically talk about the balloon driver erroneously retaining large amounts of memory when it shouldn't be. I'm going to take a wild guess here and guess that since you mentioned that it's a virtualized server, that it's the VMware balloon driver that's doing this. So if you have a large chunk of driver locked memory, for a long time, it's usually a sign that something's not right. Typically for the purpose of transferring small amounts of data, usually for short periods of time. This kind of memory, Driver Locked memory, is memory that has been locked by a kernel-mode driver. Well, I see ~3.2 gigabytes of Driver Locked memory, which immediately stands out as suspicious.