Büyümesini ve daraltılması numa altında Arabellek havuzu

Bu konuda açıklar nasıl sayfalarını belleğinde bulunan arabellek havuzu tip olmayan bellek erişimi (numa) kullanılarak atanır.Anlamak için bu bilgileri kullanın nasıl SQL Server numa kullanır ve sayaçlarının arabellek düğüm nesnesi. yorumlamak nasıl anlamak için

Bellek dağıtım

Var olan bir SQL Server bellek düğümünü her fiziksel NUMA düğümü.Bellek düğümler birbirlerinden bağımsız olarak büyümesine, ancak bellek eşit olarak bölmek.To show the local vs.foreign memory distribution in SQL Server, this topic uses an example that assumes the computer has 16 gigabytes (GB) of memory.Windows dahil olmak üzere diğer uygulamalar, her düğüm bellekten bazıları tüketilen SQL Server bazı bellek Arabellek havuzu dışında kendi işlemleri için atadığı ve SQL Server sahip 10 gb bellek atamak için arabellek havuzu.Arabellek havuzu bellek arasında dört fiziksel numa düğümleri, N0, N1, N2 ve her biri aşağıdaki yerel bellek N3 ayrılmıştır:

  • N0 – 1 GB

  • N1 – 3 GB

  • N2 – 3 GB

  • N3 – 3 GB

Yukarıdaki, yapılandırma, tüm düğümler sonuçta ayırır ve bellek; 2,5 gb kullanın Ancak, düğüm N0 1.0 gb kendi bellek ve diğer düğümlerden belleğin 1,5 gb önlersiniz.

Başlangıçta bellek atama

numa, kullanırken SQL Server işletim sistemi olsa da, ilk boş bellek düğümler arasında dağıtılmış düz olmayan şekilde karşılaştırılabilir bir numa sisteme bir hızda bellek alırArabellek havuzu olarak mümkün olduğunca her düğüm için çok yerel belleğe almak çalışır; Windows şu anda belirli bir düğüm bellek ayırmak için bir API yok ancak zor olmasıdır.

Bellek için atanmış olarak SQL Server, bazı düğümler çok sayfa numa düğüme verilir gözlemek (adı verilen yabancı sayfaları).Ancak, bunlar sık sık sahibi olan düğüme aktarılması ve bu düğüme yerel olur çünkü bu sayfaları pisti-up sırasında kullanılmaz.Zaman değeri en fazla sunucu belleği olan ulaştı, bazı düğümler yabancı bellek olabilir, ancak bellek hedef elde sonra arabellek havuzu bellek yerel ve yabancı özdeş olarak değerlendirilecektir.Örneğin, bellek baskısı altında yerel bellek sayfalarını önce yabancı bellek sayfaları boşaltmak için herhangi bir çaba Arabellek havuzu olmasını sağlamaz.

Belirli bir düğüm için belleği sınırlandırma

If SQL Server has been configured to run on a subset of the available NUMA nodes, the buffer pool will not automatically be limited to the memory on those nodes.Bu durum, kullanma en fazla sunucu belleği Arabellek havuzu sınırlamak için seçeneği.Bilgi için en fazla sunucu belleği, bkz: Sunucu bellek seçenekleri.

Bir düğüm belleği serbest

numa, kullanırken en fazla sunucu belleği ve min sunucu belleği değerleri eşit numa düğümleri arasında bölünür.Örneğin, küme, en fazla sunucu belleği dört düğümlerle sistemde 16 gb olması için 4 gb bellek her düğüm üzerinde Arabellek havuzu ayırır.Çevrimdışı düğümlerden birini değiştirerek ele alırsanız benzeşim maskesini ayarlama, en fazla sunucu belleği arasında kalan düğümleri ayarı yeniden.İki düğüm çevrimdışı olarak ele alırsanız Örneğin dört düğüm örneðinde, yayımlanan sekiz GB'a kadar bellek eşit olarak kalan düğümleri arasında dağıtılacaktır.Arabellek havuzu yabancı sayfaları kullanma yeteneği olduğundan, uzaktan bellek, yararlı olabilir orada kalan düğümlerde bellek yetersiz.İsterseniz SQL Server artık çalışıyor bellek düğümlerinden kullanmamayı, size azaltmak gerekir en fazla sunucu belleği düğüm çevrimdışı taşıdıktan sonra ayarlama.

Yabancı sayfaları

Düğümler işlev büyük ölçüde birbirinden.Tüm bellek ayırmalarını ve deallocations düğüm bellek bitti kullanarak düğüm ile ilişkilendirilmiş bellek.Ancak, N1 düğümü N2'ın belleğe bir veritabanı sayfa erişmek için gereken düğümde çalışan işçi, yerel olmayan bellek eriştiği.

Yerel vs gözleme.Yabancı bellek Arabellek havuzu

Arabellek havuzu görüntüleyerek tutulması Arabellek düğüm nesne.Toplam bellek içinde arabellek havuzu için SQL Server olarak görüntülenen hedef sayfaları , sayaç Arabellek Yöneticisi nesne.Bellekte arabellek havuzu olarak görüntülenen her düğüm için hedef sayfaları , sayaç Arabellek düğüm nesne.Diğer düğümlerden bellek olarak görüntülenmesini yabancı sayfaları sayaç.Daha fazla bilgi için bkz: sql Server arabellek düğüm nesnesi ve sql Server arabellek Yöneticisi nesnesi.

Her düğüm denetim noktaları, kendi bellek

Bellek her düğüm kendi tembel yazan iş parçacığı vardır.Bu iş parçacığı implicit ya da explicit denetim noktaları için hem de denir.Simetrik çoklu işlem (smp) bilgisayar tek bir denetim noktası iş parçacığı olduğundan, numa kullanırken, birden çok iş parçacığı bir denetim noktası hızı artış neden.

Tablo tarama davranışı

Düğüm N1 üzerinde çalışan bir tablo taraması yalnızca tarama paralel olarak CPU üzerinde birden fazla düğümlerden çalıştırıldığı sürece N1 düğümü ile ilişkili bellek doldurur.Tarama yalnızca tek bir düğümde çalışıyorsa, yalnızca söz konusu düğüm arabellek sayfalarından kullanılacaktır.Bu iş yükü bölümleme yardımcı olur bir uygulama.