Kurzer Blick darauf, wie viel RAM SQL Server zugewiesen ist.

15

Mit SQL Server 2005 können Sie sich den Task-Manager ansehen und zumindest einen kurzen Überblick darüber erhalten, wie viel Speicher SQL Server zugewiesen ist.

In SQL Server 2008 überschreitet der Arbeitssatz oder die Commit-Größe nie wirklich 500 MB, obwohl der Leistungsindikator für SQL Server: Speichermanager / Gesamtserverspeicher (KB) 16.732.760 angibt.

Gibt es eine Einstellung, in der der Serverspeicher im Task-Manager angezeigt wird? Oder liegt es daran, dass sie die Verwendung des Speichers in SQL Server ändern

AngryHacker
quelle

Antworten:

25

Sie könnten NIEMALS dem Task-Manager vertrauen, der Ihnen mitteilt, wie viel Arbeitsspeicher SQL Server verwendet (möglicherweise erinnern Sie sich an ein 32-Bit-System mit sehr wenig Arbeitsspeicher). Verwenden Sie den Task-Manager in diesem Zeitraum nicht mehr. Leistungsindikator verwenden - Sie können den Leistungsindikator auch mit DMVs abfragen:

SELECT object_name, cntr_value 
  FROM sys.dm_os_performance_counters
  WHERE counter_name = 'Total Server Memory (KB)';

Sie können dies als Abfrageverknüpfung in Extras> Optionen> Umgebung> Tastatur> Abfrageverknüpfungen speichern und in einem Abfragefenster genaue Ergebnisse erhalten, viel schneller als ungenaue Ergebnisse vom Task-Manager.

Sie können auch anhand der folgenden Abfragen überprüfen, ob der Arbeitsspeicher belastet ist (und ob Sie etwas dagegen tun können):

SELECT object_name, cntr_value
  FROM sys.dm_os_performance_counters
  WHERE counter_name IN ('Total Server Memory (KB)', 'Target Server Memory (KB)');

-- SQL Server 2012:
SELECT physical_memory_kb FROM sys.dm_os_sys_info;

-- Prior versions:
SELECT physical_memory_in_bytes FROM sys.dm_os_sys_info;

EXEC sp_configure 'max server memory';
Aaron Bertrand
quelle
EXEC sp_configure 'max server memory';existiert auch nicht in SQL 2008.
AngryHacker
@AngryHacker Sicher ist es das (es heißt, max server memory (MB)aber du musst nicht das Ganze tippen). Um es zu sehen, müssen Sie die Fehlermeldung lesen, die Sie darüber informiert, dass es sich um eine erweiterte Option handelt, und dann sp_configure 'show adv', 1; reconfigure with override;. Beachten Sie, dass Sie auch hier nicht alles 'show advanced options'eingeben müssen.
Aaron Bertrand
6

@ AaronBertrand Antwort ist großartig. Hier ist eine Variante mit ein bisschen mehr Infos von hier

SELECT
(physical_memory_in_use_kb/1024) AS Memory_usedby_Sqlserver_MB,
(locked_page_allocations_kb/1024) AS Locked_pages_used_Sqlserver_MB,
(total_virtual_address_space_kb/1024) AS Total_VAS_in_MB,
process_physical_memory_low,
process_virtual_memory_low
FROM sys.dm_os_process_memory;

Auch ein guter Blogeintrag darüber, warum TaskManager der Aufgabe hier nicht gewachsen ist .

Und für mehr Leistung und DMV-Magie kommt man nicht an Glenn Berrys SQL Performance-Blog vorbei

Rory
quelle