메모리는 어디로가요? [닫은]


-6

내 프로그램 중 하나에서 메모리 부족 오류가 발생합니다 (프로그래머입니다). Windows 7 x64 시스템에 16GB RAM이 있으며 이유가 없어 질 이유가 없습니다. 그래서 조사하고 리소스 모니터와 작업 관리자를 조사하여 모든 메모리를 사용하는 내용을 찾았습니다.

여기에 이미지 설명을 입력하십시오

참고 : 15,158KB 메모리 사용 중. 그러나 한 눈에 프로그램에서 실제로 사용중인 메모리 양은 더해지지 않습니다. 작업 관리자의 실제 수치를 꽂았으며 ( "모든 사용자의 프로세스 표시"가 선택되어 있습니다!) 약한 작은 <50MB 프로그램에 들어가기 전에 약 10.7GB에 도달했습니다. 나머지 4GB 이상의 메모리는 어디로 갔습니까?


1
RAMMap을 사용하여 실제 메모리 사용을 조사 할 수 있습니다. technet.microsoft.com/en-us/sysinternals/ff700229 그러나 메모리 부족 메시지는 일반적으로 가상 메모리를 나타냅니다. 32 비트 프로세스는 일반적으로 2GB 가상 메모리로 제한됩니다. 페이지 파일이 있다고 가정합니다.
David Marshall

1
프로그램에 x 개의 리소스 만 할당되는지 궁금합니다. 로그 파일을 만드는 것과 같은 문제가 있었는데 Visaul Studio는 메모리가 부족하다고 말하고 16GB 중 4 또는 5GB를 사용했습니다! 64 비트 대신 32 비트로 작성하는 프로그램과 관련이있을 수 있습니다.
Dave

Chrome 자체는 거의 2.5GB의 메모리를 사용하고 있습니다. 따라서 실제로 약 15GB를 사용하고 있습니다.
Ramhound

작업 관리자에서 데이터를 복사하여 Excel에 붙여 넣을 수 있습니다. 그런 다음 수식을 사용하고 메모리가 다른 곳이 아닌지 확인할 수 있습니다.
Xaruth

답변:


5

나는 당신의 결론을 따를 수 없습니다. 스크린 샷에는 최대 11GB까지 추가되는 25 개의 프로세스가 있지만 크기가 작기 때문에 언급 한대로 추가하지 않은 약 150 개의 프로세스가 있습니다. ~ 150 개의 프로세스를 수행하고 프로세스 당 평균 25MB를 가정하면 누락 된 메모리 양에 해당하는 ~ 4GB를 얻게됩니다! 작은 <50MB 프로그램을 자세히 살펴보고 다시 계산하는 것이 좋습니다.


그것을 제외하고는 잘못된 가정입니다. 150 개의 다른 프로세스가 없으며 평균은 25MB 미만입니다. 어딘가에 문서화되지 않은 프로세스가 있습니다. 방금 메모리에서 더 적은 프로세스로 재부팅하고 다시 계산했지만 여전히 3GB의 RAM을 소비하는 것으로 표시된 프로세스 이외의 다른 프로세스가 있다는 결론을 내릴 수 없습니다.
Shaul Behr

@Shaul 당신이 우리에게 무언가를 가정해야 할 모든 정보를 제공하지 않는 한 ... 때로는 결함이 있지만 작업 관리자의 스크롤 막대에 따르면 6-6 배 더 많은 프로세스가 실행되고 있다고 생각했습니다 ...
발레리

2
글쎄, 방금 리소스 모니터의 행을 복사하여 Excel에 붙여 넣을 수 있다는 것을 발견했습니다. 결국 계산이 정확하다는 것이 밝혀졌습니다. 너무 창피해 ... :-/
Shaul Behr
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.