Buffer Pool Health

How do you know if your SQL Server's buffer pool is "healthy"?  Generally, 3 performance counters are examined...Free Pages, Page Life Expectancy, and Lazy Writes/sec.  

Free Pages

This is the number of free buffers in the buffer pool that can be used to accommodate data necessary for queries.  When Free Pages drops below about 640 pages (SQL Server 2008 as of June 2012), SQL Server will begin to trim old pages out of the buffer pool in order to maintain free space for future queries.  The 640 page threshold can be much higher if your buffer pool is very large.  

Page Life Expectancy

PFE is the number of seconds a page will stay in the buffer pool without being referenced by a query.  This counter is an average that tells you how long SQL Server is waiting before it is forced to push the page out of the buffer pool to make room for new pages.  The threshold is about 300 seconds (aka "the 5 minute rule").  However, since memory is so cheap nowadays, this threshold should probably be much much higher.  

Lazy Writes/Sec

This counter tracks how many times per second SQL Server (the Lazy Writer Process) is moving dirty pages from the buffer pool to disk in order to free up buffer space.  The threshold (as of June 2012) is 20/sec.  It should be close to zero.  A value of zero means the buffer cache is sized perfectly for the current workload and dirty pages are only being written to disk during regularly scheduled checkpoints.  

The solution for buffer pool issues is almost always more memory.