Having issues with the following scenario, pls help if anyone can Measure the MTL Usage.
DB Environment Details
Windows/SQL Server
2008 R2 with 64 Bit
SQL Max Memory 12 GB ( BPool Area )
3 GB for MTL (
Non-Bpool )
Max Worker Thread 512
Application Environment Details
Solaris Server with 64 Bit 32 GB RAM
4 Instance
Application with 20 SQL Connection each
Application use the ODBC Drivers for
connecting SQL Database
• Application getting restarting when allowing with default memory setting due to insufficient memory
• Application working fine when default MTL setting changed to 3GB using –g switch during SQL Server Startup.
In the test lab server, we did not have any issues after allocating the Custom Memory while startup using –g ( 3GB Size )
By using below Query, MTL not crossing more than 100 MB
select type, sum(single_pages_kb) BPool, sum(multi_pages_kb) MTL from sys.dm_os_memory_clerks
where multi_pages_kb > 0 group by type order by 3 desc
Questions:
• Why the application restarting at the time of default Memory setting, I hope by default It suppose to have atleast 1 GB and my application not even consuming ¼ of the 1 GB but still application restarting.
• Similarly, why the application not restarting when memory increased for the MTL Portion to the higher value.
• Which query will help me for measuring the MTL Usage for the allocated 3 GB. Output like,
Allocated MTL Area : 3 GB
Consumed
MTL : 250 MB
Free MTL Space : 2822 MB
Because, based on the SQL Script I will scale up the Memory usage by the C/C++ Applications.
For easy understanding I have attached the App and DB Layer.
Please share your thoughts for measuring the memory usage.