로 볼 수 있습니다 :C++ 프로그램이 충돌 "무료"메모리가 제로하지만 대기 메모리는 내가 약간의 문제가 여전히
내가 (FREAD와) 구조체에 데이터의 260메가바이트 주위에로드해야합니다. 윈도우 자원 관리는 내가 가진 것을 저에게 말한다 : 사용
- 2,346메가바이트 메모리 무료 대기
- 2백48메가바이트 메모리에
- 1,478메가바이트 메모리 그러나
, 내 프로그램을 실행하고 데이터를로드 할 때 "더 이상"여유 메모리가 남아 있지 않은 시점에서 프로그램이 충돌합니다. 여전히 약 1200MB의 대기 메모리가 남아 있습니다.
무료 mem이 비어 있으면 자동으로 대기 메모리를 디스크로 교체하고 더 많은 메모리를 확보 할 수있을 것이라고 생각 했습니까?
이 문제를 방지 할 수있는 방법이 있습니까? 아니면 잘못된 것을하고 있습니까?
32 비트 프로그램입니까? 그렇다면 실제 메모리 또는 스왑 공간의 양에 상관없이 2-3GB의 가상 주소 공간 만 확보하십시오. –
메모리를 할당하는 코드를 업데이트 할 수 있습니까? 모든 Windows 32 비트 프로세스는 자체 4GB 가상 메모리 공간 (시스템에 대해 1 ~ 2GB 예약되어 있음)이 있으므로 Windows Resource-Management의 메모리 사용은 별 문제가되지 않습니다. – young