To get the total current size of your buffer pool run the following:
SELECT
SUM( multi_pages_kb +
virtual_memory_committed_kb +
shared_memory_committed_kb +
awe_allocated_kb ) AS [Used by BPool, KB]
FROM
sys.dm_os_memory_clerks
WHERE
[type] = 'MEMORYCLERK_SQLBUFFERPOOL'
Taken from INSIDE MICROSOFT SQL SERVER 2005, QUERY TUNING AND OPTIMIZATION by Kalen Delaney at el., which contains a good discussion of memory issues.
Another good tool is DBCC MEMORYSTATUS. It will give you the current size of the buffer pool, plus other components, such as the procedure cache.
Here is an excerpt from the output run on my server:
Buffer Counts Buffers
------------------------------ --------------------
Committed 786432
Target 786432
Hashed 722004
Stolen Potential 127447
External Reservation 0
Min Free 128
Visible 195584
Available Paging File 401426
Procedure Cache Value
------------------------------ -----------
TotalProcs 6878
TotalPages 54239
InUsePages 105
In the above sample, the procedure cache size is 54239 pages times 8 KB/page = 434 MB (roughly)
__________________________________________________________________________________
SQL Server 2016 Columnstore Index Enhancements - System Views for Disk-Based Tables[/url]
Persisting SQL Server Index-Usage Statistics with MERGE[/url]
Turbocharge Your Database Maintenance With Service Broker: Part 2[/url]