Bob Dorr'dan SQL Server 2012'deki Max sunucu belleğinin ne hakkında tanımını aşağıda aldım. Daha fazla bilgi için Çevrimiçi Kitaplar'ı da okuyabilirsiniz
Maksimum sunucu belleği, arabellek havuzu, derleme belleği, tüm önbellekler, qe bellek hibeleri, kilit yöneticisi belleği ve CLR belleği (temel olarak dm_os_memory_clerks içinde bulunan herhangi bir “katip” dahil olmak üzere SQL Server bellek tahsisini kontrol eder. İş parçacığı yığınları, bellek yığınları, SQL Server dışındaki bağlantılı sunucu sağlayıcıları veya “SQL Server olmayan” bir DLL tarafından ayrılan herhangi bir bellek, maksimum sunucu belleği tarafından denetlenmez.
İş parçacığı yığını için ayrılan bellek, Üçüncü taraf DLL, Microsoft (MySQL.PostgreSQL vb.) Dışındaki bağlı sunucu sağlayıcısı veya SQL Server olmayan SQL Server adres alanına yüklenen herhangi bir DLL, maksimum sunucu belleği dışında tahsis edilir. SQL Server 2012'de IIRC yedekleme işlemi yine de arabellek havuzu dışında bellek tahsis edilmiştir.
Diğer RDBMS'yi sorgulamak için bağlantılı sunucu kullanıyor musunuz? Aynı windows makinesinde kurulu diğer tüm yazılımlar. Paylaşılan bir konuma aşağıdaki sorguların çıktısını gönderebilir misiniz?
select type,
sum(pages_kb)/1024 as [Memory utilized in MB],
sum(awe_allocated_kb)/1024 as [Memory allocated though Windows API]
from sys.dm_os_memory_clerks
group by type
order by [Memory utilized in MB] desc
Go
-------
select (virtual_address_space_committed_kb/1024) as virtual_address_space_committed_MB,
(locked_page_allocations_kb/1024) locked_page_allocations_MB,
(pages_kb/1024) [memory allocated MB]
from sys.dm_os_memory_nodes
Go
-------
SELECT SUM (pages_in_bytes)/1024 as 'KB Used', type
FROM sys.dm_os_memory_objects
GROUP BY type
ORDER BY 'KB Used' DESC;
GO
--------
select name,
type,
sum(pages_kb)/1024 as [Mem MB],
sum(entries_count) as [Total Entry count] from sys.dm_os_memory_cache_counters
group by
type, name
order by [Mem MB] desc
Go
-----
select * from sys.dm_os_loaded_modules where company <> 'Microsoft Corporation'
go
DBCC MMEMORYSTATUS
Paylaşılan bir konuma tam çıktı yükleyebilir ve bağlantıyı buraya gönderebilir misiniz ? Bu, hangi bileşenin bellek aldığını anlamaya yardımcı olur
Düzenleme: dbcc memorystatus çıkışına göre 2 NUMA düğüm görebilirsiniz ve her düğüm tarafından kullanılan bellek yaklaşık
Node 1 : VM Committed 33554380
Node 2: VM Committed 33554420
Total is approx 64 G.
Yine memorystatus bellek yöneticisi görürseniz onun
Memory Manager KB
---------------------------------------- -----------
VM Reserved 260726964
VM Committed **67108820**
Gerçekleştirilen VM aslında SQL Server tarafından işlenen Sanal Bellek'dir ve bu bellek işlendiğinden beri vardır physical memory backing it
. Bu da bana SQL Server'ın maksimum sunucu belleğinde ayarlandığı gibi 65 G kullandığını düşündürüyor
Bu, maksimum sunucu belleği. Bu nedenle bellek her iki düğüm arasında iyi dağıtılır, ayrıca kontrol etmek için aşağıdaki sorgu çıkıntısının çıktısını da ekleyebilirsiniz. Lütfen ekran görüntüsü ekleyin
SELECT (physical_memory_in_use_kb/1024)/1024 AS [PhysicalMemInUseGB]
FROM sys.dm_os_process_memory;
GO
SELECT TOP (20) * FROM sys.dm_os_memory_clerks ORDER BY pages_kb DESC;
?