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

Why MSSQL memory allocation on host is considered kernel memory?

Christophe_N
Advisor

Hello,

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.

Christophe_N_0-1683804042164.png

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,
Christophe

2 REPLIES 2

ChadTurner
DynaMight Legend
DynaMight Legend

ChadTurner_0-1685016958196.png

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

-Chad

Christophe_N
Advisor

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.

Christophe_N_0-1686652835654.png


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,

Christophe

Featured Posts