Red Gates ANTS 메모리 프로파일 러를 사용하여 메모리 누수를 디버깅했습니다. 계속 경고 메시지를 표시합니다..NET에서 메모리 조각화가 발생하는 이유
메모리 단편화로 인해 사용 가능한 메모리가 너무 많습니다.
또는
메모리 조각화가
나는 OCD를 가지고 있기 때문에
을 할당 할 수있는 가장 큰 개체의 크기에 영향을 미치고,이 문제는 해결해야합니다.메모리 조각화를 피할 수있는 몇 가지 표준 코딩 방법은 무엇입니까? 일부 .NET 메소드를 통해 조각 모음을 수행 할 수 있습니까? 도움이 될까요?
에 대한 추가 정보를 참조하십시오. 고정 된 메모리 (또는 장면 뒤에서 I/O 버퍼를 핀하는 I/O 함수 사용), 네이티브 할당 자 (예 : COM 작업 할당 자)에서 할당을 사용하거나 많은 수의 대형 개체를 만드는 경우 메모리 조각화가 발생합니다. LOH가 압축되지 않습니다. .NET 가비지 수집기는 이미 세대 별 동적 할당을 압축하므로 여유 공간을 조각 모음하는 부작용이 있습니다. 그게 일어나지 않는다면, 뭔가가 움직이는 것을 방해하기 때문입니다. –
* 강박 신경증 (OCD)이 있으므로이 문제는 해결해야합니다. *이 의견 만있는 경우 * +1. 실제로 문제가 생깁니다. – BrokenGlass
문제가있는 진단 도구를 제거하십시오.메모리 단편화는 삶의 사실이며, 막을 수 없으면 그렇게 할 수 없으며 대폭적으로 비실용적이지 않습니다. 저 단편화 힙 할당자는 이미 Vista 이상에서 기본값입니다. 어쨌든 사용 가능한 주소 공간의 절반 이상을 할당하는 경우에만 돼지가 문제가됩니다. 돼지는 날지 않습니다. –