SQL Server에 얼마나 많은 RAM이 할당되어 있는지 살펴보십시오.


15

SQL Server 2005를 사용하면 작업 관리자를보고 최소한 SQL Server에 할당 된 메모리 양을 간략하게 살펴볼 수 있습니다.

SQLServer : Memory Manager / 총 서버 메모리 (KB) 성능 카운터 상태가 16,732,760 인 경우에도 SQL Server 2008에서는 작업 집합 또는 커밋 크기가 실제로 500MB를 넘지 않습니다.

작업 관리자에서 서버 메모리를 실제로 표시하는 설정이 있습니까? 또는 SQL Server에서 메모리 사용 방식을 변경 한 결과입니까?

답변:


25

작업 관리자를 신뢰하여 SQL Server에서 사용중인 메모리 양을 알려줄 수는 없습니다 (아마도 메모리가 적은 32 비트 시스템을 기억하고있을 수 있습니다). 이 기간 동안 작업 관리자 사용을 중지하십시오. 성능 카운터 사용-DMV를 사용하여 성능 카운터를 쿼리 할 수도 있습니다.

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

도구> 옵션> 환경> 키보드> 쿼리 바로 가기에서이를 쿼리 바로 가기로 저장하고 작업 관리자에서 부정확 한 결과를 얻는 것보다 훨씬 빠른 쿼리 창에서 정확한 결과를 얻을 수 있습니다.

다음 쿼리를 사용하여 메모리 부족 (및 메모리에 대한 작업 수행 가능 여부)을 확인할 수도 있습니다.

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에도 존재하지 않습니다.
AngryHacker

@AngryHacker 물론 그렇습니다 (전화 max server memory (MB)했지만 모든 것을 입력 할 필요는 없습니다). 이를 보려면 고급 옵션에 대한 오류 메시지를 읽은 다음를 읽어야합니다 sp_configure 'show adv', 1; reconfigure with override;. 'show advanced options'여기에 모두를 입력 할 필요는 없습니다 .
Aaron Bertrand

6

@AaronBertrand의 답변은 훌륭합니다. 여기에 약간 더 많은 정보가있는 변형이 있습니다.

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;

또한 TaskManager가 여기서 할 일이 아닌 이유에 대한 좋은 블로그 게시물입니다 .

그리고 더 많은 성능과 DMV 마술을 위해 Glenn Berry의 SQL Performance 블로그를 지나갈 수 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.