본문 바로가기

메모리 누수

메모리 누수 분석 얼마전 어느 업체에서 메모리 누수가 있는 것 같단다. '프로세스가 차지하는 메모리의 사이즈가 크다. 서버가 느려지는 이유가 그 때문인 것 같다. 튜닝이 필요하다'. 그러나 프로세스의 메모리가 크다고 해서 그것을 문제로 판단할 수는 없다. 그 어플리케이션이 원래 많은 메모리를 차지한다면 어떻게 하겠는가? 현상을 분석하기 위해서 사전에 정리한 내용이다. 메모리 누수는 우선 시간을 두고 메모리 변화 추이를 보는 것이 중요하다. 메모리는 종류에 따라서 다른 용도로 사용된다. 어느 메모리에 문제가 있는지는 성능 카운터 값들의 추이를 그래프로 살펴보면 예상할 수 있다. 어느 메모리가 문제인지를 알게 되면, 메모리의 사용 용도가 결정되므로 살펴봐야 하는 문제의 범위를 줄일 수 있다. 이런 작업을 하기 위해서는 따라서.. 더보기
이벤트 핸들러에 의한 메모리 증가 혹시 우리가 아무 걱정없이 사용해왔던 이벤트 핸들러가 어플리케이션의 메모리 증가의 원인이 될 수 있다는 것을 아시나요. 다음 블로그 포스트(http://blogs.msdn.com/tess/archive/2006/01/23/516139.aspx )를 보면 자세한 실험 내용이 나와 있습니다. 이 블로그에서 실험했던 내용을 간단히 정리해보도록 하겠습니다. 여기 우리가 흔히 대수롭지 않게 생각했던 코드가 있습니다. public class WebForm1 : System.Web.UI.Page { public static MyClassThatHasEvents MyStaticObject = new MyClassThatHasEvents(); private void InitializeComponent() { this.L.. 더보기