What to use in place of Page Life Expectancy?

chrisrdba 431 Reputation points
2022-10-26T16:07:13.613+00:00

Greetings.

We recently started using a new product on our SQL boxes. One of the things it does is monitors PLE, and alerts when it's been < 300 for 15 minutes.

So for several boxes, it appears that we suddenly have a "problem" that emails out an alert. This doesn't happen a lot, the problem is that of all the people in our email distribution list, I'm the only full time DBA. The rest are my backup (developer -- really sharp dude but not a DBA), other interested parties, etc.

Over the years I've read and believed what most of us have -- that PLE is it when it comes to monitoring memory pressure. However, over the last year I've started to have my doubts about this way of thinking. Then a couple days ago I stumbled on this article, which references other articles, all of which have serious reservations about PLE.

All said I think I'd like to start exploring some alternatives to this counter. The problem here is there's a LOT of info out there, and most people have different ways of accomplishing my goals. Two really good articles on the topic I found are here and here.

All said I think the following queries would be really useful -- not only to me but more importantly to non-DBA's at my company that may need to look at this stuff when I'm unavailable. This part is really important.

Do these seem reasonable? Anything else that would help accomplish my goal?

Thanks!

SELECT getdate(), dosm.total_physical_memory_kb,   
       dosm.available_physical_memory_kb,   
       dosm.system_memory_state_desc  
FROM sys.dm_os_sys_memory dosm;  
  
SELECT getdate(), dopm.physical_memory_in_use_kb,   
       dopm.process_physical_memory_low,   
       dopm.process_virtual_memory_low  
FROM sys.dm_os_process_memory dopm;  
  
  
SELECT getdate(), * FROM sys.dm_os_performance_counters  
where [object_name] = 'SQLServer:Buffer Manager                                                                                                        '  
and counter_name = 'Buffer cache hit ratio'  
  
  
  
  
  
  
Azure SQL Database
SQL Server
SQL Server
A family of Microsoft relational database management and analysis systems for e-commerce, line-of-business, and data warehousing solutions.
14,126 questions
0 comments No comments
{count} votes

Accepted answer
  1. CathyJi-MSFT 22,321 Reputation points Microsoft Vendor
    2022-10-27T03:11:15.893+00:00

    Hi @chrisrdba ,

    Please reading below MS document, hope this could help you.

    Monitor memory usage


    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".

    0 comments No comments

1 additional answer

Sort by: Most helpful
  1. Tom Phillips 17,741 Reputation points
    2022-10-26T16:55:07.807+00:00

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.