[ MS SQL.PLSQL - 메모리관리 ]

 


업체 DB서버 중에 접속이 되어있다가 갑자기 접속 종료가 되고 아예 접속이 되질 않는 등..
간헐적으로 네트웍 오류와 같은 접속 장애가 발생을 한적이 있었는데요.
이 문제의 원인은 Mssql 메모리 설정이었습니다.

문제가 있었던 서버의 물리적 메모리가 12GB 였는데, 작업관리자로  메모리 사용량을 확인해봤더니 11.6GB....
그래서, 서버에 과부하가 걸려 DB서버가 정상적으로 돌아가지 않았던거였죠.. 
Mssql은 처음 설치시 물리적 메모리 사용량의 MAX를 사용하도록 설정되어지는데요.
이 부분을 관리자가 조정을 할수가 있습니다.

아래 글은 제 블로그에 기술한 내용을 그대로 복사했습니다.

 글렌베리라는 분이 제안한 메모리 설정

 

아래 표를 참조하여 Mssql Server 메모리를 설정을 하면 문제가 없다.

Physical RAM

MaxServerMem Seting 

2GB

1500

4GB

3200

6GB

4800

8GB

6400

12GB

10000

16GB

13500

24GB

21500

32GB

29000

48GB

44000

64GB

60000

72GB

68000

96GB

 92000

 128GB

124000

 

 Mssql 서버 메모리 사용률 변경

 

아래 설명 이미지의 서버 사양은 아래와 같다.

Windows Server 2008 R2 Standard
설치 메모리 6 GB 

그림을 보시면 아시겠지만, 서버의 총 메모리는 6GB인데, 실제 사용 메모리가 4.34GB 이다.
이렇게 되면 가용 할 수 있는 메모리가 적어지기 때문에 서버에 과부하가 걸리게 된다.

 


이럴 경우에는 아래 그림처럼, [서버속성]으로 들어가서 메모리 설정을 다시 해주는게 좋다.

기본설정 메모리 2147483647 MAX값이다.
이부분은 알맞게 수정해줘야한다.

그리고, Mssql 다시시작을 해주어야 설정한 메모리도 적용이 되어진다.
수정시는 위에 글렌베리 표를 참조하면 되겠다.

 


Mssql 서버를 재시작 한 후 메모리 사융률을 비교해보았더니, 이렇게 많이 차이가 난다.

4.34 GB -> 1.77 GB

이렇게 설정을 하게되면, 메모리 사용률로 인한 원인 모를 접속 장애를 해결 할 수 있다.
그리고, 위에 표를 굳이 참조할 필요는 없다.
상황에 따라서 서버에 과부하가 생기지 않을 정도로 메모리 설정을 해주면 되겠다.

 

'(DB) MS SQL > System관리' 카테고리의 다른 글

MS SqlServer. Lock 조회 및 관리방법  (0) 2017.04.03
Posted by 농부지기
,