2011-05-16 3 views
3

32 비트 SQL 2005 Enterprise 상자에서 "AppDomain XX (DB_NAME.dbo [runtime] .YY)가 메모리 부족으로 인해 언로드 됨"으로 표시됩니다. AppDomain이 메모리 부담으로 인해 언로드 됨으로 표시되었습니다.

  • I 8GB의 물리적 RAM이
  • AWE가 사용하도록 설정되어 있습니다 4.5GB
  • 없음 -g512 시작 매개 변수없는 SQL의이 인스턴스는 3 개 개의 포트

에서 수신

  • 설정 다른 것들 중에서 내가 눈치 챘다 :

    • 페이징 a t 모든
    • CPU는 규범에 일치 약 20 ~ 30 %는
    • MEMORYCLERK_SQLCONNECTIONPOOL 내가 "응용 프로그램 도메인 XX (DB_NAME.dbo [실행] .YY) 생성", "응용 프로그램 도메인 XX (DB_NAME을 얻을 약 10,616
    • 입니다 놓으면 .dbo [런타임] .YY)은 메모리 압박으로 인해 언로드 된 것으로 표시됩니다. "AppDomain XX (DB_NAME.dbo [런타임] .YY) 언로드 됨."이 모두 같은 분에 있으며이 작업은 5 분마다 반복됩니다.

    위의 DB는 하나의 어셈블리 만 있으며 여러 달 동안 정상적으로 실행되었습니다. 문제는 최근에 시작되었고 내가 생각할 수있는 유일한 변경 사항은 풀의 연결 수가 200-300에서 1000으로 증가하는 응용 프로그램 서버입니다.

    누구든지이 문제에 관해 알려줄 수 있습니까?

  • +0

    당신은 프로세스 탐색기, 말에 몇 가지 관련 메모리 관련 통계를보고 시도해 볼 수도 있습니다 : 커밋 세계와 물리적 메모리 그래프뿐만 아니라, 아마 잡음 환경에서 볼 수있는 좋은 생각이 될 것입니다 프로세스 폴트 카운트, 특히 페이지 폴트 델타 (프로세스가 초래하는 메모리 압력의 양을 나타내는 것이기 때문에). – SamB

    +0

    SQL 자체가 아니라 외부의 압력을 지향하고 있습니까? 외부 압력이있는 경우, 어떤 형태의 페이징을 보지 않아야합니까? – user755922

    +0

    글쎄, 나는 그렇게 생각한다. 나는 페이징을 포함하지 않는 메모리 압박에 대해 정말로 들어 본 적이 없다. 전화 번호는 어디서 났니? (SQL 서버가 자체 "페이징"을 수행합니까?) – SamB

    답변

    0

    32 비트 OS와 DB를 사용하면 4GB RAM 한계에 도달합니다. AWE는 SQL 서버용 메모리를 제한하여 다른 프로세스에 공개하지 않도록 막을 수있었습니다.

    메모리를 최적으로 사용하려면 64 비트 버전으로 업그레이드해야합니다.

    비슷한 질문에 대한 자세한 내용은 여기를 참조하십시오.

    https://dba.stackexchange.com/questions/63720/app-domain-is-marked-for-unload-due-to-memory-pressure

    관련 문제