Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-databas i Microsoft Fabric
Returnerar minnesobjekt som för närvarande allokeras av SQL Server. Du kan använda sys.dm_os_memory_objects för att analysera minnesanvändning och identifiera möjliga minnesläckor.
Anmärkning
För att kalla detta från Azure Synapse Analytics eller Analytics Platform System (PDW), använd namnet sys.dm_pdw_nodes_os_memory_objects. Den här syntaxen stöds inte av en serverlös SQL-pool i Azure Synapse Analytics.
| Kolumnnamn | Datatyp | Description |
|---|---|---|
| memory_object_address | varbinary(8) | Adressen till minnesobjektet. Får inte vara ogiltig. |
| parent_address | varbinary(8) | Adressen till föräldraminnesobjektet. Kan inte vara null. |
| pages_allocated_count | int |
Gäller för: SQL Server 2008 (10.0.x) via SQL Server 2008 R2 (10.50.x). Antal sidor som tilldelas av detta objekt. Får inte vara ogiltig. |
| pages_in_bytes | bigint |
gäller för: SQL Server 2012 (11.x) och senare. Mängden minne i byte som allokeras av denna instans av minnesobjektet. Får inte vara ogiltig. |
| creation_options | int | Endast intern användning. Kan inte vara null. |
| bytes_used | bigint | Endast intern användning. Kan inte vara null. |
| type | nvarchar(60) | Typ av minnesobjekt. Detta indikerar någon komponent som detta minnesobjekt tillhör, eller funktionen hos minnesobjektet. Kan inte vara null. |
| name | varchar(128) | Endast intern användning. Nullable. |
| memory_node_id | smallint | ID för en minnesnod som används av detta minnesobjekt. Får inte vara ogiltig. |
| creation_time | datetime | Endast intern användning. Kan inte vara null. |
| max_pages_allocated_count | int |
Gäller för: SQL Server 2008 (10.0.x) via SQL Server 2008 R2 (10.50.x). Maximalt antal sidor som tilldelas av detta minnesobjekt. Får inte vara ogiltig. |
| page_size_in_bytes | int |
gäller för: SQL Server 2012 (11.x) och senare. Sidernas storlek i bytes som tilldelas av detta objekt. Får inte vara ogiltig. |
| max_pages_in_bytes | bigint | Maximal mängd minne som någonsin använts av detta minnesobjekt. Får inte vara ogiltig. |
| page_allocator_address | varbinary(8) | Minnesadress för sidallokatorn. Får inte vara ogiltig. För mer information, se sys.dm_os_memory_clerks (Transact-SQL). |
| creation_stack_address | varbinary(8) | Endast intern användning. Kan inte vara null. |
| sequence_num | int | Endast intern användning. Kan inte vara null. |
| partition_type | int |
gäller för: SQL Server 2016 (13.x) och senare. Typen av partition: 0 - Icke-partitionerbart minnesobjekt 1 - Partitionerbart minnesobjekt, för närvarande inte partitionerat 2 - Partitionerbart minnesobjekt, partitionerat av NUMA-nod. I en miljö med en enda NUMA-nod motsvarar detta 1. 3 - Partitionerbart minnesobjekt, partitionerat per CPU. |
| contention_factor | riktiga |
gäller för: SQL Server 2016 (13.x) och senare. Ett värde som specificerar konflik på detta minnesobjekt, där 0 betyder ingen tvist. Värdet uppdateras när ett angivet antal minnesallokeringar gjordes som speglar konkurrens under den perioden. Gäller endast trådsäkra minnesobjekt. |
| waiting_tasks_count | bigint |
gäller för: SQL Server 2016 (13.x) och senare. Antal väntetider på detta minnesobjekt. Denna räknare ökar varje gång minne allokeras från detta minnesobjekt. Inkrementeret är antalet uppgifter som för närvarande väntar på åtkomst till detta minnesobjekt. Gäller endast trådsäkra minnesobjekt. Detta är ett bästa försöksvärde utan någon korrekthetsgaranti. |
| exclusive_access_count | bigint |
gäller för: SQL Server 2016 (13.x) och senare. Specificerar hur ofta detta minnesobjekt har åtkommit exklusivt. Gäller endast trådsäkra minnesobjekt. Detta är ett bästa försöksvärde utan någon korrekthetsgaranti. |
| pdw_node_id | int |
gäller för: Azure Synapse Analytics, Analytics Platform System (PDW) Identifieraren för noden som den här fördelningen är på. |
partition_type, contention_factor, waiting_tasks_count och exclusive_access_count är ännu inte implementerade i SQL Database.
Permissions
På SQL Server och SQL Managed Instance kräver VIEW SERVER STATE behörighet.
I SQL Database Grundläggande, S0och S1 tjänstmål och för databaser i elastiska pooler, serveradministratör konto, Microsoft Entra-administratör konto eller medlemskap i ##MS_ServerStateReader##serverrollen krävs. För alla andra SQL Database-tjänstmål krävs antingen VIEW DATABASE STATE behörighet för databasen eller medlemskap i ##MS_ServerStateReader## serverrollen.
Behörigheter för SQL Server 2022 och senare
Kräver BEHÖRIGHET FÖR VISNINGSSERVERNS PRESTANDATILLSTÅND på servern.
Anmärkningar
Minnesobjekt är högar. De tillhandahåller allokeringar med finare granularitet än de som minneshanterare tillhandahåller. SQL Server-komponenter använder minnesobjekt istället för minnesassistenter. Minnesobjekt använder sidallokeringsgränssnittet i minneshanteraren för att allokera sidor. Minnesobjekt använder inte virtuella eller delade minnesgränssnitt. Beroende på allokeringsmönster kan komponenter skapa olika typer av minnesobjekt för att fördela regioner av godtycklig storlek.
Den typiska sidstorleken för ett minnesobjekt är 8 KB. Dock kan inkrementella minnesobjekt ha sidstorlekar som varierar från 512 byte till 8 KB.
Anmärkning
Sidstorlek är inte en maximal tilldelning. Istället är sidstorlek allokeringsgranularitet som stöds av en sidallokator och som implementeras av en minnesadministratör. Du kan begära allokeringar större än 8 KB från minnesobjekt.
Examples
Följande exempel returnerar mängden minne som tilldelats av varje minnesobjekttyp.
SELECT SUM (pages_in_bytes) as 'Bytes Used', type
FROM sys.dm_os_memory_objects
GROUP BY type
ORDER BY 'Bytes Used' DESC;
GO
Se även
SQL Server-operativsystemrelaterade dynamiska hanteringsvyer (Transact-SQL)
sys.dm_os_memory_clerks (Transact-SQL)