이것에 대한 귀하의 의견을 부탁드립니다. SQL Server 2008r2 Ent가 있습니다. 에드 16 개의 코어와 64GB RAM의 64 비트 20111014부터 완전히 패치 된 SQL Server 인스턴스가 하나 있습니다.
최대 램은 60000MB로 설정되어 있습니다. 온라인 며칠 후 작업 관리자에 따르면 무료 램의 양은 0입니다.
최대 램을 53GB 미만으로 변경하면 며칠 후에 안정화되고 여유 램이 생깁니다.
작업 관리자에 따라 램을 할당하는 것은 SQL 프로세스입니다. 문제가 실제로 무엇인지 어떻게 알 수 있습니까? 내가 이미 많은 테스트를 수행했지만 아직이 문제를 해결하지 못했습니다. 그리고 사용 가능한 램이 0이 될 때 일반적인 메모리 부족 현상이 발생하지 않습니다.
업데이트 1 :
이 페이지 /dba//a/7062/2744의 RAM과 관련된 다른 Q / A에서 영감을 얻었습니다 . 이 두 가지를 사용하여 RAM이 무엇을 사용하고 있는지 확인했습니다.
SELECT TOP ( 10 )
[type] AS [Memory Clerk Type] ,
SUM(single_pages_kb) AS [SPA Mem, Kb]
FROM sys.dm_os_memory_clerks
GROUP BY [type]
ORDER BY SUM(single_pages_kb) DESC
OPTION ( RECOMPILE ) ;
SELECT DB_NAME(database_id) AS [Database Name] ,
COUNT(*) * 8 / 1024.0 AS [Cached Size (MB)]
FROM sys.dm_os_buffer_descriptors
--WHERE database_id > 4 -- system databases
-- AND database_id <> 32767 -- ResourceDB
GROUP BY DB_NAME(database_id)
ORDER BY [Cached Size (MB)] DESC
OPTION ( RECOMPILE ) ;
이것에 의해 사용 된 양은 먼저 SQL Server에서 사용하는 총 약 52GB 인 7948432 Kb 두 번째 44030,57812MB입니다. 그래서 나머지 RAM은 어디로 갔습니까? :-) 작업 관리자가 지금 캐시 된 363, 사용 가능한 401, 무료 40 및 sqlservr.exe에 메모리 개인 설정 64 459 656이 있습니다. 최대 Ram은 이전과 같이 60000MB로 설정되었습니다.