닷넷 마이그레이션 후 메모리사용량 증가 문제

개발생산성을 높이고자 기존에 dotnet framework로 개발된 프로젝트를 마이그레이션 툴로 dotnet6로 마이그레이션 하였습니다. 헌데, 작동은 정상적이나, 며칠정도 가동했을때 마이그레이션 이후의 메모리전체 사용량이 기존의 6배이상 많은 등 비정상적으로 높아, 회사에서 총체적인 닷넷 버전업을 추진하는데 어려움이 생겼습니다.
서버GC모드일경우 일단 메모리를 최대한 점유한다는 내용이 있어 서버GC모드를 꺼봤지만, 별 차이는 없었습니다.

닷넷 버전이나 빌드옵션에 따라, 혹은 어떤것이든 동일코드에서 메모리 누수나 메모리사용량에 큰 편차를 야기할만한 원인이 어떤게 있을까요? 추상적인 질문이지만 마땅한 방법이 없네요…

혹시 프로젝트는 마이그레이션되었으나, 참조 라이브러리중 프레임워크용으로 남아있는것이 문제일까요?

1개의 좋아요

마냥 추측성으로 고민하는 것 보단

메모리 프로파일러 툴을 먼저 돌려보시고 코드 자체에 메모리 누수는 없는지
먼저 체크해 보시는것이 어떨까요 ?

젯브레인의 닷 메모리 등 여러가지 제품이 있습니다.

1개의 좋아요

닷메모리 체험판으로 확인해봤을때, 특별히 눈에 띄는 항목은 없었습니다. … 깝깝하네요 죄송합니다ㅠㅠ

1개의 좋아요

최초 메모리 스냅샷과
말씀하신 6배 이상 비정상적으로 높은 시점의 메모리 스냅샷

비교 하셨을때 관리 메모리 사용 용량이 동일했다는 건가요?
(어떤 객체들에 의해서 메모리 용량이 올랐는지 아예 표시가 안됬다는 말씀이신가요 ?)

1개의 좋아요

아뇨 전체적인 메모리가 증가한것은 확인되지만, 과도하게 많은 특정 객체라거나, 누수의 원인이라고 판단할만한 특이점을 찾지 못했습니다.

1개의 좋아요

일단 ServerGC 설정으로 인한 현상으로 잠정결론 내리고 서버GC를 비활성화하여 운영중이나,
문제가 해결됬다고 증명되거나 구체적인 분석을 하지는 못했습니다. 종료.

2개의 좋아요