Hi 84448741,
Sorry that I’m not familiar with SQL Server on Linux.
If you are worrying about memory pressure, we can check Target Server Memory and Total Server Memory.
SELECT object_name, counter_name, cntr_value
FROM sys.dm_os_performance_counters
WHERE [object_name] LIKE '%Memory Manager%'
AND [counter_name] IN ('Total Server Memory (KB)','Target Server Memory (KB)')
Target Server Memory indicates the ideal amount of memory the server can consume. Total Server Memory specifies the amount of memory the server has committed using the memory manager. During the initial buffer pool rise, the total server memory will be much lower than the target server memory. It is trying to fill the cache and load the page into memory. Due to the need for more disk I/O, performance may be slightly slower during this period, but this is normal. After it rises and resumes normal operation, the total server memory should be very close to the target server memory. (The ratio should be close to 1). If the total server memory has not increased too much, but is still significantly lower than the target, this may indicate:
- You may have allocated much more memory than SQL can use –SQL Server can cache the entire database in memory. If the database is smaller than the amount of memory on the machine, the data will not occupy all the space allocated to SQL. In this case, the total server memory (actually the memory used by SQL Server) will never reach the target server memory (the amount allocated to SQL). or,
- SQL cannot grow the buffer pool due to memory pressure from outside of SQL. If this is the case, you need to increase the maximum server memory, or add more RAM to improve performance.
Best Regards,
Amelia
If the answer is helpful, please click "Accept Answer" and upvote it.
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.