티스토리 뷰


 Mssql 서버 메모리 관리

 

 

  

업체 DB서버 중 한 군데가 접속이 되어있다가 종료가 되거나,

아예 접속이 되질 않는 등.. 간헐적으로 네트웍 오류와 같은 접속

장애가 발생을 한적이 있었다.

 

대체 무엇이 문제인지,, 갈피도 못잡고 있었다.

 

DB서버 셋팅이 잘 못 되었는지..

네트웍에 문제가 있어서 접속 장애가 생기는 것인지..

 

해결방법을 찾아보던 중 의외로 간단한 문제로 이런일이 발생한다는

것을 알게 되었다.

 

바로, Mssql 메모리 설정이었다.

 

문제가 있었던 서버의 물리적 메모리가 12GB 였는데,

작업관리자로  메모리 사용량을 확인해봤더니 11.6GB 였던것이다.

그래서, 서버에 과부하가 걸려 DB서버가 정상적으로 돌아가지

않았다는 것이 문제의 핵심 원인이었다.

 

Mssql은 처음 설치시 물리적 메모리 사용량의 MAX를 사용하도록

설정되어진다. 이 부분을 관리자가 조정을 할수가 있다.

 

이번 포스팅에서는 Mssql 서버의 메모리 사용량 조정을 하는 방법을 살펴 보도록 하겠다.

 


도움이 되셨다면 포스팅 아래에 공감을 눌러주세요~^^ 

 

 


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

 

 

아래 표를 참조하여 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 이다.

이렇게 되면 가용 할 수 있는 메모리가 적어지기 때문에 서버에 과부하가 걸리게 된다.


* 추가 내용  2012.11.07 


RAMMap 유틸


작업관리자에서는 어떤 프로세스에서 메모리를 많이 사용하는지 확인하기가 쉽지 않다.

이럴때 RAMMap를 사용하면, 어떤 프로세스에서 메모리를 많이 사용하는지 확인이 가능하다.


RAMMap 유틸 다운


다운 -> RAMMap.zip


 

 


 

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

기본설정 메모리 2147483647 MAX값이다.

이부분은 알맞게 수정해줘야한다.

그리고, Mssql 다시시작을 해주어야 설정한 메모리도 적용이 되어진다.

 

수정시는 위에 글렌베리 표를 참조하면 되겠다.

 

 


 

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

 

4.34 GB -> 1.77 GB

 

이렇게 설정을 하게되면, 메모리 사용률로 인한 원인 모를 접속 장애를 해결 할 수 있다.

그리고, 위에 표를 굳이 참조할 필요는 없다.

상황에 따라서 서버에 과부하가 생기지 않을 정도로 메모리 설정을 해주면 되겠다.

 

 

 도움이 되셨다면 추천을 눌러주세요~^^


 


댓글