Was bewirkt das Ändern des maximalen Serverspeichers neben dem Löschen des Plan-Cache und (offensichtlich) dem Ändern der Speichereinstellung?

8

Wenn Sie SQL Server 2012 SP3 auf einem 32-GB-RAM und 4 Kernen mit 60-80 gleichzeitigen Verbindungen und einer weitgehend ad-hoc-Arbeitslast ausführen, tritt ein Anstieg des SQL Server-Prozesses (CPU) auf, der zu unvorhersehbaren Zeiten ein- oder zweimal pro Tag auftritt. Wir arbeiten daran, die Grundursache für die Spitze zu identifizieren. In der Zwischenzeit haben wir festgestellt, dass das Ändern der Einstellung für den maximalen Speicher (entweder nach oben oder nach unten) das einzige ist, das die CPU-Auslastung wieder normalisiert.

Beim Überprüfen der Protokolle und Durchsuchen von StackExchange ( https://dba.stackexchange.com/a/183276 ) wird festgestellt, dass der Plan-Cache durch Ändern der Einstellung für den maximalen Speicher geleert wird. Wenn wir jedoch den Plan-Cache über DBCC FREESYSTEMCACHE ('SQL-Pläne') leeren, kehrt die CPU-Last nicht zum Normalzustand zurück.

Da das Ändern der Einstellung für den maximalen Arbeitsspeicher das Problem behebt, unabhängig davon, ob wir es erhöhen oder verringern, scheint das Problem nicht direkt mit der Einstellung für den maximalen Serverspeicher in Zusammenhang zu stehen. Aus diesem Grund versuchen wir zu verstehen, was das Ändern der Speichereinstellung sonst noch bewirkt, und verwenden diese Informationen dann, um die Grundursache für unsere CPU-Spitze zu ermitteln.

P Hinman
quelle
Sie löschen
Nic

Antworten:

3

Ref: Server Memory Server-Konfigurationsoptionen

max server memory steuert die SQL Server-Speicherzuordnung, einschließlich (im Wesentlichen aller in sys.dm_os_memory_clerks gefundenen Speicherangestellten):

  • der Pufferpool
  • Speicher kompilieren
  • alle Caches
  • qe Speicher gewährt
  • Speicher des Sperrmanagers
  • clr Speicher

Alle diese Komponenten werden also durch max server memoryEinstellen von Änderungen bewirkt .

Nebenbei bemerkt ist dies ein sehr schwieriger Weg, um herauszufinden, was Ihre CPU-Spitze verursacht. Ich schlage vor, dass Sie die folgenden Artikel zur Fehlerbehebung verwenden.

  1. Fehlerbehebung bei SQL Server-CPU-Leistungsproblemen von Joe Sack
  2. Wie finde ich heraus, was meinen SQL Server hämmert?
SqlWorldWide
quelle