모든 손잡이가 닫혀 있으면 누출이 없습니다. 누수는 프로그램이 언로드되었지만 리소스가 점유된 상태로 남아 있는 경우입니다.
그러나 지나치게 큰 메모리 소비 문제가 발생할 수 있습니다. 나는 최근에 이것을 발견했다. 시계열 작업을 위해 잘못된 클래스를 연결했습니다. 연결됨, 초당 틱을 인덱싱합니다. 월간 바를 작업하는 그런 수업이되었습니다. 30초 만에 모든 메모리가 소진되었습니다. 이것은 옵션 중 하나입니다. 이것은 모니터링하고 예방해야 합니다.
두 번째 옵션은 프로그램에 많은 메모리(예: 1000MB)가 필요하지만 오래 지속되지 않는 경우입니다. 릴리스되지 않은 경우 나머지 프로그램은 프로그램이 언로드될 때까지 이 1000MB를 덜 갖게 됩니다.
핸들이 닫히면 메모리(CreateFileMapping에 지정된 메모리를 초과하여 할당됨)가 반환되지 않습니까?
무엇의 끝에? Windows의 끝 또는 핸들을 닫거나 응용 프로그램을 닫으십니까?
어떻게 든 그것은 잘못되었습니다 - 설명자를 닫아 작업 과정에서 메모리를 해제합니다.
Windows에 대한 희망 없이 메모리를 해제해야 합니다.
:) 하지만 그것을 해제하는 다른 방법은 무엇입니까? 선택한 다음 삭제된 모든 것. MSDN에서 매핑으로 작업할 때 핸들을 닫기 전에 메모리를 수동으로 해제하는 것에 대해서는 아무 말도 하지 않습니다.
바딤. 정확히 무엇을 이해합니까?
나는 메모리를 확장하는 두 가지 방법 을 찾았습니다. 두 경우 모두 메모리 누수에 문제가 있다고 생각하십니까?
모든 손잡이가 닫혀 있으면 누출이 없습니다. 누수는 프로그램이 언로드되었지만 리소스가 점유된 상태로 남아 있는 경우입니다.
그러나 지나치게 큰 메모리 소비 문제가 발생할 수 있습니다. 나는 최근에 이것을 발견했다. 시계열 작업을 위해 잘못된 클래스를 연결했습니다. 연결됨, 초당 틱을 인덱싱합니다. 월간 바를 작업하는 그런 수업이되었습니다. 30초 만에 모든 메모리가 소진되었습니다. 이것은 옵션 중 하나입니다. 이것은 모니터링하고 예방해야 합니다.
두 번째 옵션은 프로그램에 많은 메모리(예: 1000MB)가 필요하지만 오래 지속되지 않는 경우입니다. 릴리스되지 않은 경우 나머지 프로그램은 프로그램이 언로드될 때까지 이 1000MB를 덜 갖게 됩니다.
한마디로 자원의 소비를 추적할 필요가 있다.