이전 웹 사이트에서 CPU 사용량이 높은 이유를 디버깅하려고하고 DebugDiag의 일부 분석을보고 LOH 및 이후 GC에있는 개체의 양 컬렉션이 이유 일 수 있습니다. 하나의 .dbg 파일에서 우리는 ~ 3.5GB의 LOH를 가지고 있는데, 대부분의 객체는 문자열입니다.Large Object Heap에 추가 된 개체
개체가 LOH로 이동하려면 85000 바이트 이상이어야합니다.
이것이 예를 들어 단일 배열과 관련되어 있는지 확실하지 않은 내용입니다. 아니면 대형 객체 그래프를 참조 할 수 있습니까?
내가 말하고자하는 것은 객체 Foo가 있고 그 안에 n 개의 객체가 각각 포함되어있는 n 개의 다른 객체가 포함되어있는 것입니다. 이러한 각 객체에 문자열이 포함되어 있고 Foo (및 모든 하위 객체)의 총 크기가 85000 바이트보다 큰 경우 Foo는 LOH? 또는 Foo 객체 그래프의 어딘가에 85000 바이트 이상의 단일 배열이 있다면 LOH에 배치 된 배열일까요?
감사합니다.
추측 : 웹 사이트에서 문자열을 연결하여 즉석에서 페이지/HTML을 생성하는 경우 StringBuilder로 전환하거나 적절한 컨트롤/데이터 바인딩으로 전환하는 것이 좋습니다. WinDbg는 그 문자열이 어디서 오는지 알아낼 수 있습니다. –