Tôi đã nhận được dưới đây định nghĩa từ Bob Dorr về những gì bộ nhớ máy chủ Max trong SQL Server 2012 kiểm soát. Bạn cũng có thể đọc Sách trực tuyến để biết thêm chi tiết
Bộ nhớ máy chủ tối đa kiểm soát cấp phát bộ nhớ SQL Server, bao gồm nhóm bộ đệm, bộ nhớ biên dịch, tất cả bộ nhớ cache, cấp bộ nhớ qe, bộ nhớ quản lý khóa và bộ nhớ CLR (về cơ bản là bất kỳ clerk nào được tìm thấy trong dm_os_memory_clerks). Bộ nhớ cho ngăn xếp luồng, đống bộ nhớ, nhà cung cấp máy chủ được liên kết khác với SQL Server hoặc bất kỳ bộ nhớ nào được cấp phát bởi một máy chủ không phải là SQL Server DLL DLL không được kiểm soát bởi bộ nhớ máy chủ tối đa.
Bộ nhớ được phân bổ cho ngăn xếp luồng, DLL của bên thứ ba, Nhà cung cấp máy chủ được liên kết khác với Microsoft (như MySQL.PostgreQuery, v.v.) hoặc bất kỳ DLL nào được tải trong không gian địa chỉ SQL Server không phải là SQL Server được cấp phát bên ngoài bộ nhớ máy chủ tối đa. Hoạt động sao lưu IIRC trong SQL Server 2012 vẫn được phân bổ bộ nhớ ngoài vùng đệm.
Bạn có đang sử dụng máy chủ được liên kết để truy vấn RDBMS khác không? Bất kỳ phần mềm nào khác được cài đặt trên cùng một máy Windows. Bạn có thể đăng trên một số vị trí được chia sẻ đầu ra của các truy vấn sau đây không
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
Bạn cũng có thể tải lên DBCC MMEMORYSTATUS
đầu ra hoàn chỉnh trên một số vị trí được chia sẻ và đăng liên kết ở đây. Điều này sẽ giúp hiểu được thành phần nào đang chiếm bộ nhớ
Chỉnh sửa: Theo đầu ra bộ nhớ dbcc, tôi có thể thấy 2 nút NUMA và bộ nhớ được sử dụng bởi mỗi nút là xấp xỉ
Node 1 : VM Committed 33554380
Node 2: VM Committed 33554420
Total is approx 64 G.
Một lần nữa nếu bạn thấy Trình quản lý bộ nhớ trong memorystatus xuất ra
Memory Manager KB
---------------------------------------- -----------
VM Reserved 260726964
VM Committed **67108820**
VM commit thực sự là Bộ nhớ ảo được SQL Server cam kết và vì bộ nhớ này được cam kết nên nó có physical memory backing it
. Điều này một lần nữa khiến tôi nghĩ rằng SQL Server đang sử dụng 65 G như được đặt trong bộ nhớ máy chủ tối đa
Đây là bộ nhớ máy chủ tối đa là gì. Vì vậy, bộ nhớ được phân phối tốt giữa cả hai nút, bạn cũng có thể thêm đầu ra của hàm truy vấn bên dưới để kiểm tra. Vui lòng thêm ảnh chụp màn hình
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;
?