SQLServer: Raportul de memorare a memoriei cache a bufferului este un bun indicator al blocajului de memorie POSIBIL?

Caut o indicație (dacă există) care ar ignora opțiunea de blocaj a memoriei sau o acceptă sau mă va face să investighez mai departe.

de exemplu:

speranța de viață a paginii:

SELECT [object_name], [counter_name], [cntr_value] FROM sys.dm_os_performance_counters WHERE [object_name] LIKE "%Manager%" AND [counter_name] = "Page life expectancy" 

introduceți descrierea imaginii aici

Cu această ocazie, în mediul meu actual, am un server care are 8 GB RAM, aș solicita managementului pentru mai multă memorie. Cred că acesta este un blocaj de memorie.

ceea ce folosește RAM ar fi o altă investigație.

Este valid acest e-mail de mai jos pentru a identifica posibilele blocaje de memorie?

trebuie să ne uităm la SQLServer: Buffer Cache Hit ratio

Dacă acel raport este mai mic de 95% decât serverul este sub presiunea memoriei

Sper că acest lucru vă va ajuta,

introduceți descrierea imaginii aici

Comentarii

  • Vă rugăm să nu vă bazați sugestia despre memorie pe Buffer Cache hit ratio . Vă rugăm să citiți O mare dezbatere SQL Server despre BCHR , deoarece nu mă bazez niciodată pe acest contor. Vă puteți baza pe PLE, dar trebuie să vedeți PLE pentru toate nodurile NUMA (dacă aveți)
  • Valoarea PLE pare să fie foarte mică, dar alte contoare sunt în regulă. Ați etichetat întrebarea cu două versiuni, vă pot oferi o listă de contoare pentru a monitoriza utilizarea memoriei, dar din moment ce există 2 versiuni implicate, diferența lor de biți este. La ce versiune te uiți exact

Răspuns

Trebuie să ne uităm la SQLServer: Buffer Cache Hit ratio. Dacă acest raport este mai mic de 95% decât serverul este sub presiune de memorie

Nu mai priviți Buffer Raportul de memorare a memoriei cache pentru a determina presiunea memoriei. Acest lucru se datorează faptului că, cu mecanismul de citire înainte în SQL Server, există mai mult de suficiente pagini în bazinul de tampoane pentru a satisface interogarea, astfel încât BCHR să nu dea o cifră exactă despre presiunea memoriei. S-ar putea chiar să vedeți că BCHR chiar nu ar scădea atunci când există presiune de memorie. Toate acestea au fost explicate în Dezbaterea excelentă pe SQL Server despre BCHR

Rezultatul PLE pe care l-ați postat pare foarte scăzut, dar nu putem folosi doar un contor pentru măsurați presiunea memoriei. PLE este o indicație mai mare a activității I / O pe server. Ar putea fi posibil ca, din cauza activității grele I / O, PLE să se prăbușească. Dacă observați că memoria serverului țintă și totală rămâne aceeași. Care este un semn bun.

Pentru Edition upto 2008 R2. Puteți utiliza contoare de mai jos

  1. SQLServer: Buffer Manager – CheckpointPages / sec:

  2. SQLServer: Buffer Manager – Granturi de memorie În așteptare:

  3. SQLServer: Buffer Manager – Target Server Memory:

  4. SQLServer: Buffer Manager – Total Server memory

  5. SQLServer: Buffer Manager – Free Pages

  6. SQLServer: Buffer Manager – Free List Stall / sec

  7. SQLServer: Buffer Manager – Speranța de viață a paginii

Pentru SQL Server 2012 onwards câteva dintre Buffer Contoare de piscină sunt depreciate și, prin urmare, trebuie să folosim contoare de gestionare a memoriei

  1. SQL Server: Memory Manager – Target Server Memory (KB)

  2. SQL Server: Memory Manager – Total Server Memory (KB)

  3. SQL Server: Memory Manager- Free Memory (KB)

  4. SQL Server: Manager memorie – memorie cache bază de date (KB)

  5. SQLServer: Buffer Manager – Pagini gratuite

  6. SQLServer: Buffer Manager – Lista gratuită Stall / sec

  7. SQLServer: Buffer Manager – Speranța de viață a paginii

Rețineți că, dacă aveți o activitate intensă pe disc, nu uitați să consultați și contoare legate de disc. Creați un set de colectoare de date și lăsați-l să ruleze timp de 4-5 ore când încărcarea pe sistem este la vârf și apoi adăugați instantaneul colectorului de date în întrebarea dvs. Apoi, putem stabili dacă SQL Server are nevoie de mai multă memorie sau nu.

Personal 8G este puțin mai puțin RAM, având în vedere cerințele privind volumul de lucru și sistemul de operare din zilele noastre. În spatele capului tău ar trebui să te gândești întotdeauna la creșterea nivelului de memorie RAM.

Răspuns

trebuie să ne uităm la SQLServer: Buffer Cache Hit ratio

Dacă acest raport este mai mic de 95% decât serverul este sub presiune de memorie

Sper că acest lucru vă va ajuta,

Aceasta nu vă va ajuta să decideți cu siguranță blocajul de memorie. Mai degrabă ceea ce aș prefera este să adun datele pentru contoare sub cel puțin o zi în timpul încărcării grele / orelor de lucru.

Memory – Available MBytes SQLServer: Buffer Manager – Page Life Expectancy SQLServer: Memory Manager – Memory Grants Pending SQLServer: Memory Manager – Target Server Memory SQLServer: Memory Manager – Total Server Memory SQLServer: SQL Statistics – Batch Requests/sec SQLServer: SQL Statistics – Compilations/sec 

Cel mai bun ar fi Baseline serverul SQL așa cum este sugerat Înapoi la Noțiuni de bază: Capturarea liniilor de bază pe SQL de producție Servere care vor colecta, de asemenea, contoare de perfmon necesare împreună cu statistici de așteptare pentru orice problemă.

De asemenea, este posibil ca 8 GB RAM să nu fie atât de adecvat, conform cerințelor de astăzi, dar din nou depinde ce este încărcarea pe sistem împreună cu dimensiunea bazelor de date găzduite pe instanța \ instances.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *