2011-04-26 4 views
0

ASP.Net 응용 프로그램에서 OOM 예외가 발생하며 예외가 발생하는 시점에 s1 = s1.Replace()s1 = s1.SubString()과 같은 무거운 문자열 연산이 원인 일 가능성이 높습니다.OutOfMemoryException이 ASP.Net 응용 프로그램 인 경우

순차적으로 발생하는 작업에서 OOM 예외를 얻을 수 있습니까? 요청 수가 많지는 않지만 GC가 힙에 대한 새로운 할당이 이루어지기 전에 메모리를 제 시간에 릴리스하지 않을 가능성이 있습니까?

즉, 다음 코드는 OOM 예외를 제공 할 수 있습니까? 아니면 GC가 OOM 예외가 발생하기 전에 많은 양의 참조되지 않은 문자열을 릴리스 할 수 있습니까?

string s = "hello world"; 
while (true) 
{ 
    s = s.Replace("h", "h"); 
} 

답변

0

이것은 실제 질문에 대한 답변이 아니며, 어려운 메모리 문제를 디버그 할 것인지를 제안하는 곳입니다.

Tess Ferrandez 스쿼시 버그에 대한 정보가 매우 귀중한 정보입니다. 그녀는 꽤 가파른 학습 곡선을 가지고있는 Windbg을 사용합니다. 그러나 그것은 당신이 기억력을 차지하고있는 것과 그 이유를 해결할 수있게 해줄 것입니다. 난 당신이 디버깅에 관심이 있다면 그녀의 labs로 시작하는 게 좋을 것

, 또는 어쩌면 ASP.Net memory investigation 후 오른쪽 코스를 설정할 수 있습니다

관련 문제