KB3074434-FIX: izvan memorije pogreška kada je virtualni adresni razmak procesa sustava SQL Server vrlo nizak na dostupnoj memoriji

Kada primijenite ovo ažuriranje, morate dodati zastavicu Trace-T8075 kao parametar pokretanja da biste omogućili tu promjenu.

Simptomi

Kada pokrenete upit u 64-bitnim verzijama sustava Microsoft SQL Server 2012, prikazat će vam se poruka o pogrešci koja se prikazuje izvan memorije koja nalikuje sljedećoj u zapisniku pogreške sustava SQL Server:

Neuspješno alociranje stranica: FAIL_PAGE_ALLOCATION 513

Upite traje dugo vremena da biste dovršili izvršenje i susret SOS_MEMORY_TOPLEVELBLOCKALLOCATOR čekanje. Kada pregledate sljedeće informacije, vidjet ćete da postoji vrlo nizak raspoloživi virtualni adresni razmak:

  • DBCC MEMORYSTATUS-odjel procesnih/sistemskih točaka – dostupna virtualna memorija

  • DMV: sys.dm_os_process_memory-stupac virtual_address_space_available_kb

Te vrijednosti počinju s oko 8 terabajta (TB) na procesoru x64 i nastavljaju se spustiti i dosegnuti nekoliko gigabajta (GB).  Kada ste na pozornici gdje je dostupan virtualni adresni prostor vrlo nizak, upiti koji pokušaju izvršiti alokaciju memorije mogu naići i na vrstu čekanja CMEMTHREAD. Sljedeće će se stavke podataka nastaviti povećavati tijekom vremena:

  • DMV: sys.dm_os_process_memory i sys.dm_os_memory_nodes-stupac virtual_address_space_reserved_kb

  • DBCC MEMORYSTATUS-upravitelj memorije – rezervirano za VM

Te će se vrijednosti obično povećati u višestrukim vrijednostima vrijednosti "Max Server Memory" do gotovo 8 TB.

Uzrok

Kada je postupak sustava SQL Server dosegnuo državu u kojoj se prikazuje ukupna memorija poslužitelja = odredišna memorija = maksimalna memorija poslužitelja, u upravitelju memorije poslužitelja SQL Server postoje pravila o tome da nove alokacije zatraže više od 8 KB stranica da bi privremeno uspjele. Ponavljanje uzorka alokacije u okviru takvog stanja može prouzročiti fragmentaciju memorijskih blokova i konzumacije virtualnog adresnog prostora. Ako se taj postupak ponavlja mnogo puta, bit će iscrpljen virtualni adresni razmak sustava SQL Server i primijetit ćete simptome koji su prethodno navedeni.

Rješenje

Kumulativne informacije o ažuriranju

Problem je prvi put riješen u sljedećem kumulativnom ažuriranju sustava SQL Server.

 

Svako novo Kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve sigurnosne ispravke uključene u prethodno Kumulativno ažuriranje. Preporučujemo da preuzmete i instalirate najnovija kumulativna ažuriranja za SQL Server:

Ovim se hitnim popravkom sprječava i izvan memorije i kontinuirano smanjenje dostupnog virtualnog adresnog prostora koji možete doživjeti.

Status

Microsoft je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".

Dodatne informacije

  • Windows 2012 R2 dopušta virtualni adresni razmak da raste kao velik kao 128 TB. Zbog toga ne možete primijetiti taj problem u okruženju sustava Windows 2012 R2. Dodatne informacije potražite u sljedećem članku u centru za korisnike sustava Windows:memorijska ograničenja za izdanja sustava Windows i Windows Server

  • Ako u virtualnom adresnom prostoru vidite stalan rast, čak i kada primijenite popravak, možete utvrditi koji upiti ili operacije zahtijevaju velike komadiće memorije pomoću Page_allocated proširenog događaja. Ogledna skripta izgleda ovako:

    CREATE EVENT SESSION [memory_tracking] ON SERVERADD EVENT sqlos.page_allocated(    ACTION(package0.callstack,sqlos.cpu_id,sqlos.task_address,sqlos.worker_address,sqlserver.database_id,sqlserver.query_hash,sqlserver.request_id,sqlserver.session_id,sqlserver.sql_text)    WHERE ([number_pages]>(1)))ADD TARGET package0.event_file(SET filename=N'E:\Data\MSSQL11.MSSQLSERVER\MSSQL\Log\memory_tracking.xel')WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=PER_CPU,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)GO

    Obično su to sigurnosne kopije zapisnika i održavanje indeksa, što se često događa.

Potrebna vam je dodatna pomoć?

Proširite svoje vještine
Istražite osposobljavanje
Prvi koristite nove značajke
Pridružite se Microsoft Insidere

Jesu li ove informacije bile korisne?

Hvala vam na povratnim informacijama!

Hvala vam na povratnim informacijama! Čini se da bi vam pomoglo kad bismo vas povezali s nekim od naših agenata podrške za Office.

×