블로그 이미지
010-9967-0955 보미아빠

카테고리

보미아빠, 석이 (500)
밥벌이 (16)
싸이클 (1)
일상 (1)
Total
Today
Yesterday

달력

« » 2014.5
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

공지사항

최근에 올라온 글

'2014/05'에 해당되는 글 1건

  1. 2014.05.26 cmemthread wait

cmemthread wait

카테고리 없음 / 2014. 5. 26. 20:32

메모리의 과다한 소비로 인해 메모리가 없어 cmemthread 경합이 발생하는 경우

 


-- 전체 메모리 확인
SELECT cast(sum(pages_in_bytes)/1024./1024 as int) sizeMB, MO.TYPE, MC.TYPE
  FROM SYS.DM_OS_MEMORY_OBJECTS MO
  JOIN SYS.DM_OS_MEMORY_CLERKS MC
    ON MO.PAGE_ALLOCATOR_ADDRESS=MC.PAGE_ALLOCATOR_ADDRESS
 GROUP BY MO.TYPE, MC.TYPE
 ORDER BY 1 DESC;

 

 

--MEMOBJ_MSXML 로 인한 메모리 사용량이 많다면, 아래 스크립트를 이용해 삭제 한다.
SELECT *
FROM sys.dm_os_memory_objects
WHERE type = 'MEMOBJ_MSXML';

 

 

-- 강제 삭제
declare @document_id int = 0
while (1=1)
begin
 select top 1 @document_id = document_id from sys.dm_exec_xml_handles(0)
 if @@rowcount = 0 break
 EXEC SP_XML_REMOVEDOCUMENT  @document_id
end

 

-- repro 를 위한 메모리 증가 쿼리

SET NOCOUNT ON
DECLARE @LOOP INT = 1

while (@LOOP <= 100000)
begin
 DECLARE @message VARCHAR(MAX), @xDoc INT, @i INT = 0;
 SET @message = (SELECT 'HellowWorld' '@Attribute1' FOR XML PATH('HelloWorld'));
 PRINT @message;

 EXEC sp_xml_preparedocument @xDoc OUTPUT, @message;
 PRINT @xDoc;
 SET @LOOP = @LOOP + 1
end

Posted by 보미아빠
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함