Showing results for 
Show  only  | Search instead for 
Did you mean: 

Why MSSQL memory allocation on host is considered kernel memory?



Today, for MSSQL database, memory allocation for database on Windows hosts are done through a way that it's considered kernel memory by Dynatrace
Obviously it's not really "kernel" memory but memory allocated for database for MSSQL engine.


Do you have any idea why Dynatrace is including this memory as kernel memory ? Has anyone observed the same behaviour and found any way to improve the memory allocation  so that we can follow the allocated memory on process itself and not kernel ?

Best regards,


DynaMight Legend
DynaMight Legend


Interesting one, I have not seen that before. What cluster version are you on? what OA are you using?



Hi @ChadTurner , 

sorry for late reply,

I have observed this for a very long time, and for me the only hosts where I can observed that we have high "mem.kernel" usage are the windows MSSQL servers. We have multiple hosts with same behavior in our tenant.

After checking this with a DBA , we have conclude that the memory allocated by SQL Server within the OS is (approx..) the value detected by Dynatrace as bultin:host:mem:kernel.

Now , we know this, we are using the kernel mem to track the SQL memory allocation over time, but it's always an exception compared to other systems where we can track the memory by process.  
Also in the same time, and as a consequence, the memory used by SQLServer is not reflecting the memory allocation by the SQL engine.


For OA Version and cluster version, we are with OA 1.261 and cluster 1.268, but it's observed since a long time, so it's not linked to OA/cluster version for me..


Best regards,


Featured Posts