Tidak cukup memori sistem dalam kumpulan sumber daya default untuk menjalankan kueri ini

15

Saya menggunakan SQL Server 2014 - 12.0.2269.0 (X64) pada Windows Server 2012 dan saya mengalami beberapa masalah memori. Ketika saya menjalankan prosedur tersimpan yang melakukan perhitungan yang cukup "berat", saya mendapatkan kesalahan setelah sekitar 10 menit:

Tidak cukup memori sistem dalam kumpulan sumber daya 'default' untuk menjalankan kueri ini.

SQL Server saya memiliki banyak basis data (seperti 15, tetapi tidak selalu digunakan secara bersamaan). Saya melihat ke file log SQL Server (setelah saya mendapatkan kesalahan), dan saya melihat banyak baris seperti ini:

2015-12-17 12: 00: 37.57 spid19s Menolak alokasi halaman untuk database 'Database_Name' karena memori yang tidak mencukupi dalam 'default' sumber daya. Lihat ' http://go.microsoft.com/fwlink/?LinkId=330673 ' untuk informasi lebih lanjut.

Laporan dihasilkan dalam log dengan memori yang digunakan oleh masing-masing komponen (saya pikir). Jika saya menafsirkan laporan dengan benar, kita dapat melihat bahwa ada banyak memori yang dikonsumsi oleh MEMORYCLERK_SQLBUFFERPOOL. Anda dapat menemukan laporannya di sini: http://pastebin.com/kgmk9dPH

Saya juga membuat laporan dengan grafik yang menunjukkan "kesimpulan" yang sama:

! [penggunaan memori

Berikut ini mungkin laporan berguna lainnya:

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Perhatikan bahwa saya juga melihat kesalahan ini di log:

2015-12-17 12: 04: 52.37 spid70 Gagal mengalokasikan halaman karena tekanan memori database: FAIL_PAGE_ALLOCATION 8

Berikut ini beberapa informasi mengenai memori server:

  • Total memori di server: 16 Gb

  • Memori yang dialokasikan ke server SQL: 12288 Mb

  • Memori Fisik Sedang Digunakan (dari sys.dm_os_process_memory): 9287 Mb

Jika itu bisa membantu, server tidak meng-host database SharePoint.

tatchi
sumber
Berapa memori maks dan total RAM di server?
Kin Shah

Jawaban:

6

Meskipun ini mungkin bukan jawaban yang tepat untuk masalah Anda, saya tetap akan mengirimnya dengan harapan dapat membantu Anda.

Apa yang Anda lihat bukan MEMORYCLERK_SQLBUFFERPOOLtetapi MEMORYCLERK_SQLLOGPOOLmengambil semua memori.

Ada masalah yang diketahui dengan SQL 2012 SQL Server 2012 mengalami kesalahan kehabisan memori . Meskipun Anda menjalankan 2014, ada kemungkinan Anda mengalami masalah yang sama (meskipun saya tidak dapat menemukan item koneksi untuk 2014).

Ada juga masalah yang diketahui untuk 2014 dan 2012 yang melibatkan pembangunan kembali indeks dan always on . Anda tidak menentukan Anda menggunakan itu tetapi mungkin bug yang sama memiliki pemicu lain: PERBAIKI: Memori SQL Cache menurun dan penggunaan CPU meningkat ketika Anda membangun kembali indeks untuk tabel di SQL Server

Jadi saran terbaik saya untuk saat ini adalah memperbarui ke CU terbaru dan melihat apakah itu masih terjadi, karena ada beberapa perbaikan MEMORYCLERK_SQLLOGPOOLbaru - baru ini. Karena Anda menjalankan RTM dengan hanya 2 perbaikan keamanan yang masuk akal, ada SP1 + multiple CU yang tersedia.

Karena ada juga penggunaan memori yang cukup tinggi yang MEMORYCLERK_XTPdigunakan oleh in-memory OLTPartikel ini dapat membantu Anda memecahkan masalah: Monitor dan Pemecahan Masalah Penggunaan Memori

Tom V - Tim Monica
sumber