2017-05-09 2 views
1

3GB의 RAM이있는 중간 규모의 인스턴스입니다. webapp을 시작하면 w3wp 프로세스가 80MB로 시작됩니다. 나는 이것이 더 많은 시간이 지나가는 것을 알아 차린다. .... 이제는 570MB 였고 사이트가 5 일 동안 실행 중일 때 프로세스의 메모리 덤프를 가져 와서 소비하고있는 .NET 객체가 있는지 확인했다. 많은 것을 발견했지만, 가장 큰 객체는 18MB였습니다. 이것은 문자열 객체의 집합이었습니다.왜 w3wp 메모리가 계속 증가합니까?

세션 저장소에 redis를 사용하고 있기 때문에 캐시 개체를 사용하고 있지 않으며 실제로 덤프는 캐시에 아무 것도 없다는 것을 보여주었습니다.

내 질문은 다음과 같습니다 ... 메모리가 3GB이므로 캐시 된 일부 페이지가 메모리에 남아 있으므로 요청이있을 때마다 웹 사이트가 더 빠릅니다 (메모리가 캐시 된 이유) 계속 증가합니다. 내가 염려하는 점은 사용되는 경우 모든 EntityFramework 객체를 폐기하거나 배치해야하는 다른 적절한 스트림을 폐기하더라도 일부 방식으로 메모리 누수가 발생한다는 것입니다. 특정 임계 값에 도달하면 메모리에 있던 오래된 캐시 된 데이터가 제거되고 새 페이지가 포함된다고 가정합니다. 내가 이것을 말하는 것이 맞습니까?

나는 과거에 나는 작은 인스턴스에 있었고 퍼센트는 70 %를 넘지 않았으며 지금은 중간 인스턴스에 있고 메모리는 이미 60 %라는 것을 지적하고 싶다 .... 매우 매우 이상하다. 동일한 코드로

나를 도와주고 싶다면 메모리 덤프를 보낼 수 있습니다.

+0

프레임 워크에 익숙하지 않지만 일반적으로 프레임 워크는 설명 된대로 일부 캐싱을 수행합니다. 본질적으로 나는 당신이 3GB에 도달하지 않으면 프레임 워크가 가비지 수집을하지 않았다면 걱정해야한다고 생각하지 않을 것이다. 200MB의 MB를 제공하고 최대 값에 도달하면 가비지 수집 여부를 확인하여 테스트 할 수 있습니다. 그러나 이것은 모든 추측 일 수 있습니다. 더 많은 지식을 가진 사람이 플랫폼 별 답변을 줄 수 있습니다. – ShaneNal

+0

웹 앱 이름을 직접 또는 [간접적으로] (https://github.com/projectkudu/kudu/wiki/Reporting-your-site-name-without-posting-it-publicly) 공유 할 수 있습니까? 이렇게하면 조사하는 데 도움이됩니다. 감사! –

+0

David 내 웹 사이트는 showshappening –

답변

2

소수의 웹 응용 프로그램에 영향을 미치고 있으며 패치 작업 중입니다. 앱

  • 이동 쿠두 콘솔 :이 특정 문제를 치는 경우 해결 방법이 있습니다

    (예 : https : //로 {yourapp} .scm.azurewebsites.net/DebugConsole)

  • LogFiles 폴더로 이동하십시오. 당신이 모니터 깨끗한 W3WP에게
  • 을 그래서이 문제에 실행하는 경우 attrib +r eventlog.xml
  • 선택적으로 실행하여 매우 큰 eventlog.xml 파일을 읽기 전용 파일
  • 메이크업을해야합니다, 웹 응용 프로그램을 다시 시작 여부를 여전히 사용 올라간다

단점은 생성 된 이벤트를 더 이상 얻을 수 없지만 대부분의 경우 필요하지 않다는 것입니다 (일시적 임).

문제가 확인되었지만 아직 배포를위한 ETA가 없습니다.

+0

안녕하십니까. 문제의 파일은 1.8MB였습니다. 그러나 이것은 어제부터 시작되었습니다. 어제 이상한 일이 어제 일어났습니다.나는 서비스 계획을 작고 다시 수정하여 모든 프로세스를 재설정 했으므로 w3wp가 여전히 서서히 증가하더라도 서버는 40 %의 메모리 마크를 가지고 있습니다. 이제 1.45AM에서 사용자가 없는데 웹 서버 메모리가 97 %의 메모리를 사용하고 기본적으로 내 웹 사이트에 사용자가 없었습니다. 이상한 일이 실제로 일어났습니다. 애플리케이션 통찰력을 열었을 때 나는 여전히 w3wp 프로세스가 증가하지 않는다는 것을 발견했다. –

+0

@ MarkFarrugia 그러면 내가 설명한 것과 다른 뭔가를 다루는 것일 수 있습니다. 확실하기는하지만 여전히 읽기 전용으로 만들고 차이가 있는지 확인하는 것이 좋습니다. –

+0

데이비드에게 감사드립니다. 왜 그 스파이크가 있었는지 서버에서 확인할 수 있습니까? 내가 읽은 후에 솔직히 말해서 IIS 프로세스가 증가하지 않고 서버의 메모리가 현재 무언가가 발생하지 않으면 40 %로 안정화됩니다. 작업 세트는 현재 250mb로 매우 양호합니다. 또한 미러 웹 사이트에서 나는 03.00AM에서 웹 사이트를 재활용하기 위해 테스트를 했으므로 프로세스가 항상 신선하고 괜찮을 것으로 보인다. 이것이 좋은 연습인지는 모르겠다. –

관련 문제