none
win2008 로그서버에서 Sql server 2008 R2 관련 질문 RRS feed

  • 질문

  • sql server 2008 r2에서 최대 메모리 사용량을 설정할수 있는것으로 알고 있습니다.

    메모리 최대 사용량을 10G 설정합니다.

    sql server프로세스는 로그정보를 저장하면서 메모리 점유율이 점점 상승을 하더군요.
    메모리 점유율이 최대 사용량 10G전부 사용중이면 더 이상 메모리 점유율은 불가능 하겠죠.
    만약 sql server가 메모리 점유율이 10G에서 더 많은 메모리량을 필요하게 된다면

    프로세스가 죽는건가요? 아님 한정된 메모리 사용량에서 반환될때까지 기다리고 로그 저장하여  저장 속도만 늦어 지는건가요? 
    최대 메모량을 줄였을경우 안정성은 보장은 되나요?

    빠른 답변 부탁드립니다.

    2012년 2월 2일 목요일 오전 2:44

답변

  • 안녕하세요

    MAX SERVER MEMORY(MB)라는 옵션으로 최대 메모리량을 제한할 수 있습니다.

    하지만 SQL Server 2008 R2에서 위의 옵션을 제한되는 메모리는 Buffer Pool 이라는 영역에 대한 제한으로만 동작합니다.

    그 외에도 Thread Pool 이나 기타 SQL Server에서 사용하는 메모리가 추가로 사용되게 됩니다.

     

    메모리 부족현상이 발생하게 되면 내부 엔진의 로직에 따라 메모리를 확보하기 위한 작업을 수행하게 됩니다.

    예를 들어, 메모리 상에 존재하는 페이지 중 가장 오랫동안 사용되지 않고 있는 페이지를 비워내는 작업 을 수행하는 내부 프로세스를 동작시키는 등의 작업을 수행하게 됩니다.

    메모리 부족현상이 발생하지 않도록 적절한 쿼리 튜닝 작업 등이 수행되는 것이 안정적으로 SQL Server를 운영하기 위한 전제조건이 될 것입니다.

    만약, SQL Server를 위한 전용서버가 아니라 다른 애플리케이션과 메모리를 공유하여 사용하여 하는 환경이라면 이를 고려하여 각 애플리케이션 간에 경합이 발생하지 않도록 MAX SERVER MEMORY를 적절하게 조절하실 필요가 있겠습니다.

     

    감사합니다.

     


    Best Regards, Daejoong Samuel Sung Microsoft SQL Server MVP,MCITP,MSTS, Senior Consultant @ SQLRoad.COM
    2012년 2월 2일 목요일 오전 9:48
    중재자

모든 응답

  • 안녕하세요

    MAX SERVER MEMORY(MB)라는 옵션으로 최대 메모리량을 제한할 수 있습니다.

    하지만 SQL Server 2008 R2에서 위의 옵션을 제한되는 메모리는 Buffer Pool 이라는 영역에 대한 제한으로만 동작합니다.

    그 외에도 Thread Pool 이나 기타 SQL Server에서 사용하는 메모리가 추가로 사용되게 됩니다.

     

    메모리 부족현상이 발생하게 되면 내부 엔진의 로직에 따라 메모리를 확보하기 위한 작업을 수행하게 됩니다.

    예를 들어, 메모리 상에 존재하는 페이지 중 가장 오랫동안 사용되지 않고 있는 페이지를 비워내는 작업 을 수행하는 내부 프로세스를 동작시키는 등의 작업을 수행하게 됩니다.

    메모리 부족현상이 발생하지 않도록 적절한 쿼리 튜닝 작업 등이 수행되는 것이 안정적으로 SQL Server를 운영하기 위한 전제조건이 될 것입니다.

    만약, SQL Server를 위한 전용서버가 아니라 다른 애플리케이션과 메모리를 공유하여 사용하여 하는 환경이라면 이를 고려하여 각 애플리케이션 간에 경합이 발생하지 않도록 MAX SERVER MEMORY를 적절하게 조절하실 필요가 있겠습니다.

     

    감사합니다.

     


    Best Regards, Daejoong Samuel Sung Microsoft SQL Server MVP,MCITP,MSTS, Senior Consultant @ SQLRoad.COM
    2012년 2월 2일 목요일 오전 9:48
    중재자
  • 안녕하십니까? L0phrack

    Microsoft TechNet Forum 사이트를 방문해 주셔서 감사합니다.

     

    Daejoong Samuel Sung님께서 좋은 답변해주셨습니다.

     

    문의 하신 ”win2008 로그서버에서 Sql server 2008 R2 관련 질문 에 대해 좀더 답변 드리겠습니다.

     

    프로세스가 죽는건가요?

    죽지 않습니다. 일단 위에서 말씀하신거 처럼 메모리 부족현상이 발생하게 되면 내부 엔진의 로직에 따라 메모리를 확보하기 위한 작업을 수행하게 됩니다.

     

    아님 한정된 메모리 사용량에서 반환될때까지 기다리고 로그 저장하여  저장 속도만 늦어 지는건가요? 

    일단 사용량이 많아진다는것은 전체적으로 시스템 속도가 늦어질수있습니다. 그러지 않기위해서 새로운 기능들로 보다 효율적으로 관리자의 역활이 중요합니다.

     

    최대 메모량을 줄였을경우 안정성은 보장은 되나요?

    일부로 줄이시는것을 권장하진 않습니다.

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

     

    답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다. 하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다.

    2012년 2월 6일 월요일 오전 8:13
    중재자