DBCC MEMORYSTATUS komutunun çıkışını bu makalede anlatılmaktadır. Bu komut, Microsoft SQL Server bellek tüketimini sorunları gidermek için sık kullanılır.
Bu makalede, bellek yöneticisi için bellek kullanım özeti için toplam bellek bilgi için arabellek dağıtım bilgileri için arabellek havuzu bilgi ve yordam önbelleğinde bilgi çıktının öğeleri açıklanır. Bu da çıktı genel bellek nesneler hakkında sorgu bellek nesneler hakkında en iyi hale getirme ve bellek komisyoncularından. hakkında açıklar
DBCC MEMORYSTATUS komut anlık görüntüsünü Microsoft SQL Server'ın geçerli bellek durumu sağlar. Bu komutun çıktısı, SQL Server'da bellek tüketimini sorunları gidermek için veya belirli bellek yetersiz hatası sorunlarını gidermek için kullanabilirsiniz. (Birçok yetersiz bellek hataları otomatik olarak hata günlüğünde bu Çıktıyı yazdır.) Microsoft Müşteri Destek Hizmetleri, düşük bellekli bir koşulu ile ilişkili olan hata yaşıyorsanız, bir destek olayı sırasında bu komutu çalıştırmak aynı zamanda isteyebilir.
Not Adres Pencereleme uzanntılar (AWE) desteği etkinleştirilmişse, performans izleyicisi'ni (PerfMon) ve Görev Yöneticisi için bellek doğru hesap değil.
Bu makalede, DBCC MEMORYSTATUS komutunun çıkışından alabilirsiniz verilerin bazıları açıklanmaktadır. Bu makalenin bazı bölümleri, aşağıda açıklanmıştır. özel uygulama ayrıntılarını içerir. Microsoft Müşteri Destek Hizmetleri'ne olmayan tüm soruları yanıtlayın veya ötesinde, bu makalede sağlanan bilgiler, belirli sayaçlar anlamı hakkında daha fazla bilgi sağlar.
Önemli DBCC MEMORYSTATUS komutu, bir tanı aracı için Microsoft Müşteri Destek Hizmetleri'ne olması amaçlanır. Çıktı biçimini ve sağlanan ayrıntı düzeyini olan hizmet paketleri ve ürün sürümleri arasında değişiklik. DBCC MEMORYSTATUS komut sağladığı işlevsellik sonraki ürün sürümlerinde farklı bir düzenek tarafından değiştirilebilir. Bu nedenle, daha sonra ürün versiyonlarında bu komut artık çalışmayabilir. Önce bu komut değiştirilmiş veya kaldırılmış ek yok uyarılar yapılmayacak. Bu nedenle, bu komut kullanan uygulamalar uyarı verilmeden kesilebilir.
DBCC MEMORYSTATUS komutunun çıktısını, SQL Server'ın daha önceki sürümlerden değiştirdi. Çıktı, artık önceki ürün versiyonlarında kullanılabilir olan birkaç bölüm de içerir.
Çıktı ilk bölümü, bellek yöneticisi yok. Bu bölümde, genel bellek tüketimi, SQL Server tarafından gösterilir.
Memory Manager KB
------------------------------ --------------------
VM Reserved 1761400
VM Committed 1663556
AWE Allocated 0
Reserved Memory 1024
Reserved Memory In Use 0
(5 row(s) affected)
Bu bölümdeki öğeleri şunlardır:
VM ayrılmış: Bu değer, SQL Server'ın ayırdığı sanal adres alanı (VAS) toplam tutarını gösterir.
VM tamamlanan: Bu değer, SQL Server taahhüdünde bulunduğu VAS toplam miktarını gösterir. Amaç edinmiştir VAS fiziksel bellek ile ilişkilendirilmiş.
AWE tahsisatı yapıldı: Bu değer, genel SQL Server'ın 32-bit sürümünde AWE düzenek aracılığıyla ayrılan bellek miktarını gösterir. Veya, bu sayfaları kilitleyen bir bellek miktarını genel ürünün 64 bit sürümünü kullanan programları değer.
Ayrılmış bellek: Bu değer, özel yönetici bağlantısı (DAC) için ayrılmış olan belleği gösterir.
Kullanımda ayrılmış bellek: Bu değer, ayrılmış bellek kullanıldığını gösterir.
Bellek Yöneticisi bölüm her bellek düğümü için bellek kullanım özeti izler. Non-Tekdüzen bellek erişimi (NUMA) etkin sistemdeki her <a0>Donanım</a0> NUMA düğüm için karşılık gelen bir bellek düğümü giriş olacaktır. SMP sisteminde, tek bir bellek düğüm girişi olur.
Not Bellek düğüm KIMLIĞI donanım KIMLIğI düğüme karşılık
Memory node Id = 0 KB
------------------------------ --------------------
VM Reserved 1757304
VM Committed 1659612
AWE Allocated 0
MultiPage Allocator 10760
SinglePage Allocator 73832
(5 row(s) affected)
Not bu değerleri bu NUMA düğümde çalışan iş parçacıkları tarafından ayrılan belleği gösterir. Bu değerler NUMA düğümün yerel bellek değildir.
Bu bölümdeki öğeleri şunlardır:
VM ayrılmış: Bu değer, bu düğümde çalışan iş parçacıkları için rezerve edilen VAS gösterir.
VM tamamlanan: Bu değer, bu düğümde çalışan iş parçacıkları tarafından kabul edilen VAS gösterir.
AWE tahsisatı yapıldı: Bu değer, ürünün 32-bit sürümü üzerinde AWE düzenek aracılığıyla ayrılan belleği gösterir. Veya, bu değer, genel, ürünün 64 bit sürümünde kilitli sayfaları tarafından tüketilen bellek miktarını gösterir.
NUMA etkinleştirildiği bir sistemde, bu değer, yanlış veya negatif olabilir. Ancak, genel AWE ayrılan bellek yöneticisi bölümünde doğru bir değer değerdir. Tek tek NUMA düğümler tarafından ayrılan bellek izlemek için <a0></a0>, kullanmak SQL Server: arabellek düğüm performans nesneleri. (Daha fazla bilgi için SQL Server Books Online'da bakın.)
MultiPage ayırıcısı: Bu değer multipage ayırıcısı ile ve bu düğümde çalışan iş parçacıkları tarafından ayrılan belleği gösterir. Bu bellek dışında arabellek havuzu gelir.
SinglePage ayırıcısı: Bu değer, tek sayfa ayırıcısı ile ve bu düğümde çalışan iş parçacıkları tarafından ayrılan belleği gösterir. Bu bellek için arabellek havuzundan çalınmış.
NotVM ile ayrılmış değerler ve bellek tüm düğümlerde VM bağımlı değerlerin toplamlarını biraz değerinden daha az bellek yöneticisi bölümünde bildirilen ilgili değerler olacaktır.
Sonraki bölümde, her memuru türü ve her NUMA düğüm toplam bellek bilgileri içerir. NUMA etkinleştirilmiş bir sistem için aşağıdakine benzer bir çıktı görebilirsiniz.
Not Aşağıdaki tabloda, çıktı yalnızca bir bölümünü içerir.
MEMORYCLERK_SQLGENERAL (node 0) KB
---------------------------------------------------------------- --------------------
VM Reserved 0
VM Committed 0
AWE Allocated 0
SM Reserved 0
SM Commited 0
SinglePage Allocator 592
MultiPage Allocator 2160
(7 row(s) affected)
MEMORYCLERK_SQLGENERAL (node 1) KB
---------------------------------------------------------------- --------------------
VM Reserved 0
VM Committed 0
AWE Allocated 0
SM Reserved 0
SM Commited 0
SinglePage Allocator 136
MultiPage Allocator 0
(7 row(s) affected)
MEMORYCLERK_SQLGENERAL (Total) KB
---------------------------------------------------------------- --------------------
VM Reserved 0
VM Committed 0
AWE Allocated 0
SM Reserved 0
SM Commited 0
SinglePage Allocator 728
MultiPage Allocator 2160
(7 row(s) affected)
Not Bu düğüm kimliği için SQL Server çalıştıran bilgisayarın NUMA düğüm yapılandırması karşılık gelir. Düğüm, donanım NUMA düğümlerin üstünde veya bir SMP sistem üstünde tanımlanan olası yazılım NUMA düğümlerin kimliklerini içerir. Için her düğüm düğüm kimliği ve CPU eşleştirmesini bulmak için <a0></a0>, <a1>Bilgi</a1> olay KIMLIK numarası 17152 görüntüleyin. SQL Server'ı başlattığınızda Olay Görüntüleyicisi'ndeki Uygulama günlüğünde bu olayı günlüğe kaydedilir.
SMP sistemi her memuru türü için tek bir bölüm görürsünüz. Bu bölüm, aşağıdakine benzer.
MEMORYCLERK_SQLGENERAL (Total) KB
---------------------------------------------------------------- --------------------
VM Reserved 0
VM Committed 0
AWE Allocated 0
SM Reserved 0
SM Commited 0
SinglePage Allocator 768
MultiPage Allocator 2160
(7 row(s) affected)
Hakkında diğer bilgiler bu bölümlerdeki paylaşılan bellek:
SM ayrılmış: Bu değer, bellek eşlemeli dosyaları API kullanan tüm clerks bu tür rezerve edilen VAS gösterir. Bu API, paylaşılan bellek olarak bilinir.
SM tamamlanan: Bu değer, bellek eşlemeli dosyalar API kullanan tüm clerks bu tür kaydedilmiş VAS gösterir.
Sys.dm_os_memory_clerks dinamik bir yönetim görünümü (DMV) kullanarak, tüm bellek düğümlerin her memuru türü için Özet bilgi edinebilirsiniz. Bunu yapmak için <a0></a0>, aşağıdaki sorguyu çalıştırın:
select
type,
sum(virtual_memory_reserved_kb) as [VM Reserved],
sum(virtual_memory_committed_kb) as [VM Committed],
sum(awe_allocated_kb) as [AWE Allocated],
sum(shared_memory_reserved_kb) as [SM Reserved],
sum(shared_memory_committed_kb) as [SM Committed],
sum(multi_pages_kb) as [MultiPage Allocator],
sum(single_pages_kb) as [SinlgePage Allocator]
from
sys.dm_os_memory_clerks
group by type
Stolen: Stolen bellek çeşitli amaçlar için sunucunun kullandığı 8 KB arabellekleri tanımlar. Bu arabellekleri genel bellek deposu ayırmalar hizmet eder. Farklı sunucu bileşenleri bu arabellekleri, iç veri yapılarına depolamak için kullanın. Arabellek havuzu yetersiz Stolen arabellekleri temizlemesini lazywriter işleme izin verilmiyor.
Boş: Bu değer şu anda kullanılmayan bir kaydedilmiş arabellekleri gösterir. Bu arabellek, veriyi tutmak için kullanılabilir. Veya, diğer bileşenler bu arabellekleri isteyin ve sonra da bu arabellekleri Stolen işaretleyebilirsiniz.
Önbelleklenen: Bu değer için çeşitli önbelleklerinin kullanılan arabellekleri gösterir.
Veritabanı (temiz): Bu değer, veritabanı içeriğini sahip olan ve olmayan değiştirilmiş arabellekleri gösterir.
Veritabanı (kirli): Bu değer, veritabanı içeriğini sahip olan ve değişiklik yapılmış arabellekleri gösterir. Bu arabellekleri temizlenip gereken değişiklikleri içeren diske.
G/Ç: Bu değer, bekleyen bir g/Ç işlemi için bekleyen arabellekleri gösterir.
Latched: Bu değer latched arabellekleri gösterir. Bir iş parçacığı okunurken ya da bir sayfanın içeriğini değiştirme arabellek latched. Sayfanın diskten okuma arabelleği de latched veya diske yazılı. Yüklenmekte olan ancak fiziksel bir veri sayfasındaki tutarlılığını korumak için kullanılan BIR mandallı okuma veya değiştirme. Kilit, mantıksal ve işlem tutarlılığı korumak için kullanılır.
Sys.dm_os_buffer_descriptors DMV'nı kullanarak veritabanı sayfaları için arabellek havuzu arabellekleri hakkında ayrıntılı bilgi edinebilirsiniz. Ve sys.dm_os_memory_clerks DMV kullanarak sair sunucu amacıyla kullanılan arabellek havuzu sayfaları hakkında ayrıntılı bilgi edinebilirsiniz.
Sonraki bölümde, arabellek havuzu ve ek bilgileri ilgili ayrıntıları listeler.
Kabul edilen: Bu değer kabul edilendir toplam arabellekleri gösterir. Kabul edilendir arabellekleri, kendileri ile ilişkilendirilmiş olan fiziksel bellek vardır. Arabellek havuzu geçerli boyutunu kabul edilen değerdir. Bu değeri desteği etkinleştirilmişse, ayrılan fiziksel bellek içerir.
Hedef: Bu değer, hedef arabellek havuzu boyutunu gösterir. Hedef değer kabul edilen değerden daha büyükse, arabellek havuzu büyüdüğünü. Hedef değer kabul edilen değerden daha küçükse, arabellek havuzu daraltma.
Hashed: Bu değer veri sayfaları ve arabellek havuzu içinde depolanan dizin sayfalarına gösterir.
Çalınmış olası: Bu değer en büyük arabellek havuzundan çalınmış sayfaları gösterir.
ExternalReservation: Bu değer, bir sıralama işlemi ya da bir karma işlemini gerçekleştirir ve sorgular için rezerve edilmiş olan sayfaları gösterir. Bu sayfaları henüz çalınmış değil.
En az boş: Bu değer, arabellek havuzu boş listeniz sayfaları gösterir.
Görünür: Bu değer, eşzamanlı olarak görünen arabellekleri gösterir. Bu arabellek, doğrudan aynı anda erişilebilir. Bu değer genellikle toplam arabellekleri için eşittir. Ancak, desteği etkinleştirildiğinde, bu değer toplam arabellekleri daha az olabilir.
Kullanılabilir disk belleği dosyası: Bu değer, kaydedilmiş kullanılabilir olan bellek gösterir. Bu değer, 8 KB arabellek sayısı olarak ifade edilir. Daha fazla bilgi için <a0>Windows API</a0> belgelerinde "GlobalMemoryStatusEx işlev" konusuna bakın.
TotalProcs: Bu değer yordam önbelleğinde bulunan toplam önbelleğe alınan nesnelerin gösterir. Bu değer girişleri sys.dm_exec_cached_plans DMV eşleşecektir.
Not Bu bilgiler dinamik yapısı nedeniyle, tam eşleşme olabilir. PerfMon izlemek için kullanabileceğiniz SQL Server: önbellek plan nesnesi ve sys.dm_exec_cached_plans DMV Tetikleyicileri, yordamlar ve ad hoc nesneleri olarak önbelleğe alınan nesnelerin türü hakkında ayrıntılı bilgi.
TotalPages: Bu değer, yordam önbelleğinde önbelleğe alınan tüm nesneleri depolamak gereken toplam sayfa gösterir.
InUsePages: Bu değer, çalışmakta olan yordamlara ait yordam önbelleğinde sayfaları gösterir. Bu sayfaları iptal edemezsiniz.
Sonraki bölümde, çeşitli genel bellek nesneler hakkında bilgi içerir. Bu bölüm ayrıca, ne kadar bu belleği genel bellek kullanımı nesneleri hakkında bilgi içerir.
Global Memory Objects Buffers
------------------------------ --------------------
Resource 126
Locks 85
XDES 10
SETLS 2
SE Dataset Allocators 4
SubpDesc Allocators 2
SE SchemaManager 44
SQLCache 41
Replication 2
ServerGlobal 25
XP Global 2
SortTables 2
(12 row(s) affected)
Bu bölümdeki öğeleri şunlardır:
Kaynak: Bu değer, kaynak nesne kullandığı bellek gösterir. Kaynak nesne, çeşitli Sunucu bazındaki yapıları ve depolama altyapısı tarafından kullanılır.
Kilitler: Bu değer, kilit Yöneticisi kullandığı bellek gösterir.
XDES: Bu değer, bellek, işlem yöneticisi kullanan gösterir.
SETLS: Bu değer, iş parçacığı yerel depo için kullanan Depolama Altyapısı'e özgü başına iş parçacığı yapısı için kullanılan bellek gösterir.
SE Dataset Allocators: Bu değer yapılarına Erişim yöntemleri ayarı ile tablo erişim ayırmak için kullanılan bellek gösterir.
SubpDesc Allocators: Bu değer, paralel sorgu, yedekleme işlemlerini, geri yükleme işlemleri, veritabanı işlemleri, dosya işlemleri, yansıtma ve zaman uyumsuz imleçler subprocesses yönetmek için kullanılan bellek gösterir. Bu subprocesses paralel işlemleri de verilir.
SE SchemaManager: Bu değer, şema yöneticisi Depolama Altyapısı'e özgü meta verileri depolamak için kullandığı bellek gösterir.
SQLCache: Bu değer, ad hoc ekstrelerinin ve hazırlıklı ekstrelerinin metni depolamak için kullanılan bellek gösterir.
Çoğaltma: Bu değer sunucunun iç çoğaltma alt sistemler için kullandığı bellek gösterir.
ServerGlobal: Bu değer generically birkaç alt sistemler tarafından kullanılan genel sunucu bellek nesnesi gösterir.
XP genel: Bu değer, saklı yordamlar kullanın uzatılmış bellek gösterir.
Sıralama tabloları: Bu değer, bellek gösterir, tabloları kullanın sıralama.
Sonraki bölümde, Query bellek atama bilgilerini açıklar. Bu bölüm, anlık sorgu bellek kullanımını içerir. Query memory is also known as workspace memory.
Query Memory Objects Value
------------------------------ -----------
Grants 0
Waiting 0
Available (Buffers) 14820
Maximum (Buffers) 14820
Limit 10880
Next Request 0
Waiting For 0
Cost 0
Timeout 0
Wait Time 0
Last Target 11520
(11 row(s) affected)
Small Query Memory Objects Value
------------------------------ -----------
Grants 0
Waiting 0
Available (Buffers) 640
Maximum (Buffers) 640
Limit 640
(5 row(s) affected)
If the size and the cost of a query satisfy “small” query memory thresholds, the query is put in a small query queue. Bu davranış, kuyrukta bulunan büyük sorgularını arkasında Gecikmeli gelen daha küçük bir sorgu engeller.
Bu bölümdeki öğeleri şunlardır:
Veren: Bu değer, bellek verir olan çalışan sorguları gösterir.
Bekliyor: Bu değer, bellek verir edinmek üzere bekleyen sorguları gösterir.
Kullanılabilir: Bu değer, çalışma karma olarak kullanmak için sorgularını ve kullanılabilir olarak çalışma alanı sıralamak arabellekleri gösterir. Kullanılabilir değeri, belirli aralıklarla güncelleştirilmektedir.
Maksimum: Bu değer, çalışma alanı olarak kullanmak için tüm sorgulara verilen toplam arabellekleri gösterir.
Sınırı: Bu değer, sıra büyük bir sorgu için sorgu yürütme hedef gösterir. Kalmayıncaya kadar değişiklik sırasındaki Maksimum (arabellek) değeri güncelleştirilmemesi nedeniyle, bu değer en büyük (arabellek) değerinden farklıdır.
Sonraki istek: arabellekleri, sonraki bekletmeyi sorgu için bu değer, bellek isteğini boyutunu gösterir.
Bekleyen için: Bu değer, Sonraki istek değeri başvurduğu sorguyu çalıştırmak kullanılabilir olması gereken bellek miktarını gösterir. Bekleyen içinİleri'yi isteği değeri bir boş alan faktörüyle çarpımıyla elde değerdir. Bu değer etkin sonraki bekletmeyi sorgu çalıştırdığınızda, belirli bir miktarda bellek kullanılabilir olmasını sağlar.
Maliyet: Bu değer, sonraki bekletmeyi sorgu maliyetini gösterir.
Zaman aşımı: zaman aşımı, bu değer sonraki bekletmeyi sorgu için saniye cinsinden gösterir.
Bekleme süresi: Bu değer, sonraki bekletmeyi sorgu sıraya koyma bu yana milisaniye cinsinden geçen süreyi gösterir.
Son hedef: Bu değer, genel sorgu yürütme bellek sınırı gösterir. Bu değer büyük sorgu sırası hem de küçük sorgu sıra için birleştirilmiş sınırıdır.
The next section is a summary of the users who are trying to optimize queries at the same time.
Optimization Queue Value
------------------------------ --------------------
Overall Memory 156672000
Last Notification 1
Timeout 6
Early Termination Factor 5
(4 row(s) affected)
Small Gateway Value
------------------------------ --------------------
Configured Units 8
Available Units 8
Acquires 0
Waiters 0
Threshold Factor 250000
Threshold 250000
(6 row(s) affected)
Medium Gateway Value
------------------------------ --------------------
Configured Units 2
Available Units 2
Acquires 0
Waiters 0
Threshold Factor 12
(5 row(s) affected)
Big Gateway Value
------------------------------ --------------------
Configured Units 1
Available Units 1
Acquires 0
Waiters 0
Threshold Factor 8
(5 row(s) affected)
Queries are submitted to the server for compilation. Derleme işlemi ayrıştırma algebraization ve en iyi duruma getirme içerir. Sorgu her sorgu derleme işlemi sırasında tüketir bellek miktarına göre sınıflandırılır.
Not Bu tutar, sorguyu çalıştırmak için gereken bellek dahil değildir.
Sorguda başladığında, sınır yoktur kaç sorgularını derlenebilir. Bellek tüketimini artırır ve bir eşiğe ulaştığında, sorguyu devam etmek için bir ağ geçidine geçmelidir. Sonra her bir ağ geçidi, aynı anda derlenmiş sorgularının aşamalı olarak azalan bir sınır yoktur. Her bir ağ geçidi boyutunu platform ve yük bağlıdır. Ağ geçidi boyutları, ölçeklenebilirlik ve işleme hızı en üst düzeye çıkarmak için seçilir.
Sorgu, bir ağ geçidi geçemezse, sorguyu bellek kullanılabilir duruma gelene kadar bekleyecektir. Veya sorgu, bir zaman aşımı hatası (hata 8628) verir. Ayrıca, sorgu bir ağ geçidi Kullanıcı sorguyu iptal ederse veya bir kilitlenme algılanırsa Sunucusu'ndan değil. Sorguda birden fazla ağ geçitleri geçerse, derleme işlemi tamamlanıncaya kadar sorgu daha küçük ağ geçitleri ile serbest bırakmıyor.
Bu davranış, aynı anda ortaya yalnızca birkaç yoğun bellek derleme sağlar. Ayrıca, bu davranış, daha küçük sorguları için üretilen iş büyütür.
Sonraki üç bölüm, Denetim bellek çalınmış bellek ve ayrılan bellek önbelleğe alınan bellek komisyoncularından hakkında bilgi gösterir. Bu bölümlerde, bilgileri yalnızca iç tanılama için kullanılabilir. Bu nedenle, bu bilgileri burada ayrıntılı değildir.
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:907877
(http://support.microsoft.com/kb/907877/en-us/
)
Bu makaleyi kullanmak için ne kadar kişisel çaba harcadınız?
Çok az
Az
Orta
Fazla
Çok fazla
Bu bilgiyi geliştirmemiz için nedenleri ve bu konuda neler yapabileceğimizi paylaşın
Teşekkürler! Görüşleriniz, destek içeriğimizi geliştirmemize yardımcı olmak için kullanılmaktadır. Diğer yardım seçenekleri için, lütfen Yardım ve Destek Giriş Sayfasını ziyaret edin.