Hm, some more weirdness.
SELECT
database_id, COUNT_BIG(*) / 128 as bufferMB
FROM sys.dm_os_buffer_descriptors
GROUP BY database_id
order by 2 desc
On my 128 gig server with 100 gig allocated to the SQL instance, the above query gives me the following results:
database_id bufferMB
----------- --------------------
7 20145
8 1349
6 92
4 68
2 63
32767 19
5 5
1 3
10 0
3 0
12 0
15 0
9 0
11 0
A few moments ago, database 7 had a value of just 10,000. Database 7 is the 500 gig ERP database. This is on an instance with a min server memory of 50,000 and a max of100,000.
So... why would SQL not consume all the memory allocated for its buffer? It's clear from the PLE values (and the timeouts reported by users) that it needs to be using the memory that we spent all that money on. But it... isnt...
So yeah, it seems as though a dropcleanbuffers is happening randomly.