MEMPERBAIKI: keluar dari kehabisan memori galat saat ruang alamat penyuratan virtual proses SQL Server sangat rendah pada kehabisan memori tersedia

PENTING: Artikel ini diterjemahkan oleh perangkat lunak penerjemahan mesin Microsoft, dan mungkin telah diedit oleh Masyarakat Microsoft melalui teknologi CTF dan bukan oleh seorang penerjemah profesional. Microsoft menawarkan baik artikel yang diterjemahkan oleh manusia maupun artikel hasil editan terjemahan oleh mesin/komunitas, sehingga Anda dapat mengakses semua artikel di Sentra Pengetahuan yang kami miliki dalam berbagai bahasa. Namun artikel hasil editan mesin atau bahkan komunitas tidak selalu sempurna. Artikel ini dapat mengandung kesalahan dalam hal kosa kata, sintaksis atau tatabahasa, sangat mirip dengan penutur asing yang membuat kekeliruan ketika berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab atas ketidakakuratan, kesalahan atau kerugian apa pun akibat dari kekeliruan dalam penerjemahan isi atau penggunaannya oleh pelanggan kami. Microsoft juga akan senantiasa memperbarui perangkat lunak penerjemahan mesin dan alat untuk menyempurnakan Editan Hasil Penerjemahan Mesin.

Klik disini untuk melihat versi Inggris dari artikel ini: 3074434
Pemberitahuan
Setelah Anda menerapkan pembaruan ini, Anda harus menambahkan jejak bendera - T8075 sebagai parameter permulaan untuk mengaktifkan perubahan ini.
Gejala
Ketika Anda menjalankan kueri di versi 64-bit dari Microsoft SQL Server 2014 atau Microsoft SQL Server 2012, Anda menerima pesan galat out kehabisan memori yang mirip dengan berikut dalam log galat SQL Server:

Gagal mengalokasikan Halaman: FAIL_PAGE_ALLOCATION 513

Permintaan memakan waktu lama untuk menyelesaikan eksekusi dan mengalami SOS_MEMORY_TOPLEVELBLOCKALLOCATOR menunggu.

Saat Anda memeriksa informasi berikut, Anda akan menemukan bahwa ada ruang alamat penyuratan virtual sangat rendah tersedia:

  • DBCC MEMORYSTATUS - proses sistem menghitung bagian - tersedia kehabisan memori Virtual
  • DMV: sys.dm_os_process_memory - virtual_address_space_available_kb kolom
Nilai ini memulai sekitar 8 terabyte (TB) pada x64 proses dan terus turun dan mencapai beberapa gigabytes (GB).

Ketika Anda pada tahap mana ruang alamat penyuratan virtual yang tersedia sangat rendah, permintaan yang mencoba melakukan kehabisan memori alokasi mungkin juga mengalami tunggu jenis CMEMTHREAD.

poin data berikut akan terus meningkatkan waktu:
  • DMV: sys.dm_os_process_memory dan sys.dm_os_memory_nodes - kolom virtual_address_space_reserved_kb
  • DBCC MEMORYSTATUS - Manajer kehabisan memori bagian - Reserved VM

Nilai ini biasanya akan meningkatkan kelipatan nilai "memori maks server" hingga hampir 8 TB.
Penyebab
Ketika proses SQL Server telah mencapai kondisi dimana Total kehabisan memori Server = kehabisan memori Server Target = kehabisan memori maks server, ada kebijakan Manajer kehabisan memori SQL Server untuk membiarkan baru alokasi permintaan beberapa halaman 8 KB untuk berhasil sementara. pola pengulangan alokasi kondisi tersebut dapat menyebabkan fragmentasi blok kehabisan memori dan penggunaan ruang alamat penyuratan virtual. Jika proses ini mengulang berkali-kali, Ruang alamat penyuratan virtual SQL Server akan habis, dan Anda akan melihat gejala yang telah disebutkan sebelumnya.
Pemecahan masalah

Informasi Hotfix

Untuk mengatasi masalah ini, instal hotfix dari MEMPERBAIKI: Galat saat Anda disimpan prosedur panggilan prosedur tersimpan lain terkait server SQL Server 2014.

Prasyarat

Anda harus Pemutakhiran kumulatif 3 untuk SQL Server 2014 Service Pack 1 diinstal untuk menerapkan hotfix ini.

Pemberitahuan

Setelah Anda menerapkan pembaruan ini, Anda harus menambahkan jejak bendera - T8075 sebagai parameter permulaan untuk mengaktifkan perubahan ini.

Informasi pembaruan kumulatif

Masalah pertama kali diperbaiki dalam pemutakhiran kumulatif berikut ini dari SQL Server.

Rekomendasi: Menginstal pembaruan kumulatif terbaru untuk SQL Server
Setiap pembaruan kumulatif yang baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Kami sarankan Anda men-download dan menginstal pembaruan kumulatif terbaru untuk SQL Server:


Hotfix ini mencegah keluar dari kehabisan memori dan pengurangan berkelanjutan ruang alamat penyuratan virtual tersedia yang mungkin Anda alami.
Status
Microsoft telah memastikan bahwa ini merupakan masalah di dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".
Informasi lebih lanjut
  • Windows 2012 R2 memungkinkan ruang alamat penyuratan virtual berkembang besar seperti 128 TB. Oleh karena itu, Anda tidak dapat melihat masalah ini di lingkungan Windows 2012 R2. Untuk informasi selengkapnya, lihat topik berikut ini di pusat pengembangan Windows:

    kehabisan memori batas untuk Windows dan Windows Server rilis
  • Jika Anda melihat pertumbuhan berkelanjutan di ruang alamat penyuratan virtual bahkan setelah Anda menerapkan perbaikan, Anda dapat menentukan mana permintaan atau operasional meminta potongan besar kehabisan memori menggunakan Page_allocated perluasan peristiwa. Contoh skrip seperti ini:

    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
    Biasanya ini adalah cadangan log dan operasi pemeliharaan indeks, yang sering terjadi.

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 3074434 - Tinjauan Terakhir: 10/10/2016 02:18:00 - Revisi: 6.0

Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Web, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Service Pack 1

  • kbqfe kbsurveynew kbexpertiseadvanced kbfix kbmt KB3074434 KbMtid
Tanggapan