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:
Berikut ini mungkin laporan berguna lainnya:
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.
sumber
Jawaban:
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_SQLBUFFERPOOL
tetapiMEMORYCLERK_SQLLOGPOOL
mengambil 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 ServerJadi saran terbaik saya untuk saat ini adalah memperbarui ke CU terbaru dan melihat apakah itu masih terjadi, karena ada beberapa perbaikan
MEMORYCLERK_SQLLOGPOOL
baru - 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_XTP
digunakan olehin-memory OLTP
artikel ini dapat membantu Anda memecahkan masalah: Monitor dan Pemecahan Masalah Penggunaan Memorisumber