Hi @michaelchau,
Hi all , just want to know the difference of memory clerks and memory objects and what's are their relationship ?
Memory clerk: Memory Clerk is used to allocate memory, and is used to classify the memory out of Allocate
Memory object: The menory object is essentially a heap, which is allocated by Page Allocator. It can be viewed through the DMV of sys.dm_os_memory_objects. This DMV can see a column of Page_Allocator_Address. This column is the identity of the Memory Clerk, indicating which Memory this Memory Object is from. Clerk assigned it.
Relationship: Memory object can be viewed through the DMV of sys.dm_os_memory_objects. This DMV can see a column of Page_Allocator_Address. This column is the identity of the Memory Clerk, indicating which Memory this Memory Object is from. Clerk assigned it.
another question is why virtual_memory_committed_kb is much less than pages_kb??
No. There is no value to compare them, virtual_memory_comitted_kb can also larger than pages_kb in your screenshot.
pages_kb is the size that memory clerks memory are in PHYSICAL MEMORY ?
Pages_kb: column names of DMVS’;
Physical memory: As the name suggests, it is the physical storage space provided by the memory chip. Accessing data stored in physical memory is usually much faster than accessing a hard disk. For SQL Server, data objects that are frequently accessed must be cached in physical memory for a long time in order to achieve optimal efficiency.
I would also ask questions on memory pools sys.dm_os_memory_pools, pool_id 0 is the internal pool ? pool_id 1 is default pool ? is it referring resource default /internal pool ?. how it's mapped with memory clerk ?
Although the official documentation does not indicate it , I do not think default poolid is 1 and internal pool_id is 0, because we can check from next screenshot, same address but different id. It is different from definition of resource pool.
More information: https://learn.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-os-memory-pools-transact-sql?view=sql-server-ver15
BR,
Mia
If the reply is helped, please do “Accept Answer”.--Mia