I got below definition from Bob Dorr about what Max server memory in SQL Server 2012 controls. You can also read Books Online for more details
Max server memory controls SQL Server memory allocation, including the
buffer pool, compile memory, all caches, qe memory grants, lock
manager memory, and CLR memory (basically any “clerk” as found in
dm_os_memory_clerks). Memory for thread stacks, memory heaps, linked server
providers other than SQL Server, or any memory allocated by a “non SQL
Server” DLL is not controlled by max server memory.
Memory allocated to for thread stack, Third party DLL, Linked server provider which is other than that of Microsoft(like MySQL.PostgreSQL etc) or any DLL loaded in SQL Server address space which is non SQL Server is allocated outside max server memory. IIRC backup operation in SQL Server 2012 is also still allocated memory outside buffer pool.
Are you using linked server to query other RDBMS? Any other software installed on same windows machine. Can you post on some shared location the output of following queries
select type,
sum(pages_kb)/1024 as [Memory utilized in MB],
sum(awe_allocated_kb)/1024 as [Memory allocated though Windows API]
from sys.dm_os_memory_clerks
group by type
order by [Memory utilized in MB] desc
Go
-------
select (virtual_address_space_committed_kb/1024) as virtual_address_space_committed_MB,
(locked_page_allocations_kb/1024) locked_page_allocations_MB,
(pages_kb/1024) [memory allocated MB]
from sys.dm_os_memory_nodes
Go
-------
SELECT SUM (pages_in_bytes)/1024 as 'KB Used', type
FROM sys.dm_os_memory_objects
GROUP BY type
ORDER BY 'KB Used' DESC;
GO
--------
select name,
type,
sum(pages_kb)/1024 as [Mem MB],
sum(entries_count) as [Total Entry count] from sys.dm_os_memory_cache_counters
group by
type, name
order by [Mem MB] desc
Go
-----
select * from sys.dm_os_loaded_modules where company <> 'Microsoft Corporation'
go
Can you also upload complete DBCC MMEMORYSTATUS
output on some shared location and post the link here. This would help in understanding what component is taking memory
Edit: As per dbcc memorystatus output i can see 2 NUMA nodes and memory utilized by each node is approx
Node 1 : VM Committed 33554380
Node 2: VM Committed 33554420
Total is approx 64 G.
Again if you see Memory Manager in memorystatus output its
Memory Manager KB
---------------------------------------- -----------
VM Reserved 260726964
VM Committed **67108820**
VM committed is actually Virtual Memory committed by SQL Server and since this memory is committed it has physical memory backing it
. This again which makes me think SQL Server is using 65 G as set in max server memory
This is what is max server memory. So memory is well distributed between both nodes can you also add output of below query jut to check. Please add screenshot
SELECT (physical_memory_in_use_kb/1024)/1024 AS [PhysicalMemInUseGB]
FROM sys.dm_os_process_memory;
GO