SQL Server'a ne kadar RAM ayrıldığına hızlı bir bakış?


15

SQL Server 2005 ile, Görev Yöneticisine bakabilir ve en azından SQL Server'a ne kadar bellek ayrıldığına bir cursory bakabilirsiniz.

SQL Server 2008 ile, SQLServer: Bellek Yöneticisi / Toplam Sunucu Belleği (KB) perf sayacı 16,732,760 olmasına rağmen, Çalışma Kümesi veya İşleme Boyutu asla 500 MB'ın üzerine çıkmaz.

Görev Yöneticisi'nde sunucu belleğini göstereceği bir ayar var mı? Veya SQL Server'da belleğin kullanım şeklini değiştirmelerinin bir sonucu mu

Yanıtlar:


26

ASLA, SQL Server'ın ne kadar bellek kullandığını söylemek için Görev Yöneticisi'ne güvenemezsiniz (belki de çok az miktarda belleğe sahip 32 bitlik bir sistemi hatırlıyorsunuzdur). Bu süre için Görev Yöneticisi'ni kullanmayı bırakın. Performans sayacını kullanın - DMV'leri kullanarak performans sayacını da sorgulayabilirsiniz:

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

Bunu Araçlar> Seçenekler> Çevre> Klavye> Sorgu Kısayolları'na bir sorgu kısayolu olarak kaydedebilir ve bir sorgu penceresinde Görev Sonuçları'nden yanlış sonuçlar almaktan çok daha hızlı doğru sonuçlar alabilirsiniz.

Bu sorguları kullanarak bellek basıncını (ve bu konuda bir şey yapıp yapamayacağınızı) da kontrol edebilirsiniz:

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';

EXEC sp_configure 'max server memory';SQL 2008'de de mevcut değil.
AngryHacker

@AngryHacker Elbette öyle (çağrıldı, max server memory (MB)ancak her şeyi yazmanıza gerek yok). Bunu görebilmek için, size gelişmiş bir seçenek olduğunu söyleyen hata mesajını okumanız gerekir sp_configure 'show adv', 1; reconfigure with override;. Buraya da yazmanız gerekmediğini unutmayın 'show advanced options'.
Aaron Bertrand

6

@ AaronBertrand'ın cevabı harika. Buradan biraz daha fazla bilgi içeren bir varyasyon var

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;

Ayrıca TaskManager görev kadar değil neden iyi bir blog yazısı burada .

Daha fazla performans ve DMV büyüsü için Glenn Berry'nin SQL Performans blogunu geçemezsiniz

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.