Kaynak havuzu varsayılanında bu sorguyu çalıştırmak için yeterli sistem belleği yok


15

Windows Server 2012'de SQL Server 2014 - 12.0.2269.0 (X64) kullanıyorum ve bazı bellek sorunları yaşıyorum. Oldukça "ağır" bir hesaplama yapan bir saklı yordam çalıştırdığınızda, 10 dakika gibi bir şey sonra bir hata alıyorum:

Kaynak havuzunda 'varsayılan' bu sorguyu çalıştırmak için yeterli sistem belleği yok.

SQL Server'ımın birden çok veritabanı var (15 gibi, ancak her zaman aynı anda kullanılmıyor). (Hatayı aldıktan sonra) SQL Server günlük dosyasına baktım ve böyle bir sürü satır gördüm:

2015-12-17 12: 00: 37.57 spid19s 'Varsayılan' kaynak havuzundaki yetersiz bellek nedeniyle 'Veritabanı_Adı' veritabanı için sayfa ayırmalarına izin verilmiyor. Daha fazla bilgi için bkz. ' Http://go.microsoft.com/fwlink/?LinkId=330673 '.

Günlükte her bileşen tarafından kullanılan bellekle bir rapor oluşturulur (sanırım). Raporu doğru bir şekilde yorumlarsam, çok fazla bellek harcadığını görebiliriz MEMORYCLERK_SQLBUFFERPOOL. Raporu burada bulabilirsiniz: http://pastebin.com/kgmk9dPH

Ayrıca aynı "sonucu" gösteren bir grafik ile bir rapor oluşturdum:

![hafıza kullanımı

Belki başka yararlı raporlar:

resim açıklamasını buraya girin

resim açıklamasını buraya girin

Günlükte bu hatayı da gördüğümü unutmayın:

2015-12-17 12: 04: 52.37 spid70 Veritabanı belleği basıncı nedeniyle sayfa tahsisi başarısız oldu: FAIL_PAGE_ALLOCATION 8

Sunucunun belleği ile ilgili bazı bilgiler:

  • Sunucudaki toplam bellek: 16 Gb

  • SQL sunucusuna ayrılan bellek: 12288 Mb

  • Kullanılan Fiziksel Bellek (itibaren sys.dm_os_process_memory): 9287 Mb

Yardımcı olabilirse, sunucu herhangi bir SharePoint veritabanını barındırmaz.


Sunucudaki maksimum bellek ve toplam RAM nedir?
Kin Shah

Yanıtlar:


6

Bu muhtemelen probleminize kesin bir cevap olmasa da, size bir şekilde yardımcı olabileceğini umarak yine de göndereceğim.

Ne görüyorsanız değil MEMORYCLERK_SQLBUFFERPOOLama MEMORYCLERK_SQLLOGPOOLtüm belleğini tüketebilir.

SQL 2012 ile ilgili bilinen bir sorun vardır SQL Server 2012 bellek yetersiz hataları yaşıyor . 2014'ü çalıştırıyor olsanız bile, aynı sorunla karşılaşma şansınız var (2014 için bir bağlantı öğesi bulamasam da).

2014 ve 2012 yıllarında endeks yeniden yapılandırmaları ve always on. Bunu kullandığınızı belirtmediniz, ancak aynı hatanın başka tetikleyicileri de olabilir: Düzeltme: SQL önbellek belleği azalır ve SQL Server'da bir tablo için bir dizin yeniden oluşturduğunuzda CPU kullanımı artar

Şimdilik en iyi önerim, en son CU'ya güncelleme yapmak ve hala olup olmadığını görmek, çünkü MEMORYCLERK_SQLLOGPOOLson zamanlarda birkaç düzeltme yapıldı . RTM'yi yalnızca mantıklı olabilecek 2 güvenlik düzeltmesi ile çalıştırdığınız için, bir SP1 + çoklu CU vardır.

Bu makalede MEMORYCLERK_XTPkullanılan bellek kullanımı da oldukça yüksek olduğundan, in-memory OLTPsorun gidermenize yardımcı olabilir: Bellek Kullanımını İzleme ve Sorun Giderme

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.