What is the SQL Server Page Life Expectancy (PLE)?
PLE is the estimated duration (in seconds) that a data file page, once read into the buffer pool, will stay in memory before it is replaced by another data file page.
This metric is not an aggregate or accumulation, but merely a point-in-time value.
It’s one symptom that can help lead you in the right direction.
Why should you care about it?
A deficient value of Page Life Expectancy (PLE) may indicate signs of memory pressure.
Note: Currently, there are controversies about this metric.
Use it as a complement to other indicators to confirm the real problem.
How can I check it?
You can find the value of the PLE in the sys.dm_os_performance_counters
, by running the following query.
SELECT [object_name]
,[counter_name]
,[cntr_value] FROM sys.dm_os_performance_counters WHERE [object_name] LIKE '%Manager%' AND [counter_name] = 'Page life expectancy'
Nowadays, a more accurate reference value can be calculated using this formula:(Max Server Memory/4GB) * 300
How to fix it?
Here are a few things you can do:
- Do a more in-depth investigation using the wait stats.
- Look for queries with high numbers of physical reads and then fix those queries.
- Try correlating the PLE drop with scheduled SQL Server Agent jobs that perform database maintenance.