컴퓨터에 RAM이 부족하면 어떻게됩니까?


9

조금 전에 호기심으로 많은 메모리를 매우 빠르게 차지하는 Java 프로그램을 작성했습니다. (BufferedImages를 루프의 배열 목록에 추가합니다.)

RAM이 실행될 때 Windows 시스템 모니터를 열어 두었습니다.

프로그램을 시작할 때 RAM 사용량이 정말 빠르게 증가했으며 6GB RAM의 약 100 %에 도달하면 컴퓨터 속도가 매우 느려졌습니다. 약 1 분 후 프로그램을 종료하고 컴퓨터의 속도가 느리게 회복되었습니다. 내 관심을 끌었던 것은 메모리 사용량이 처음에 느리게 떨어진 다음 갑자기 거의 0MB로 내려 가서 약 2-2.5GB의 유휴 사용량으로 올라갔습니다.

시스템 모니터에서 RAM 사용량의 스크린 샷을 찍었습니다.

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

컴퓨터에 메모리가 부족할 때 어떤 일이 발생하는지, 프로그램이 끝난 직후 유휴 상태로 돌아 가지 않고 약 60 초 후에 왜 다시 설명 할 수 있는지 궁금합니다. 또한 왜 유휴 사용량 대신 사용량이 줄어드는가?



0MB 가 아닙니다 (또는 그에 가깝습니다). 전체 그래프의 스크린 샷을 찍었다면 가장 낮은 지점은 814MB입니다 . 자르면 훨씬 더.
Synetech

답변:


15

주 메모리 한계에 도달하기 시작하면 운영 체제는 메모리를 디스크로 스왑 아웃하기 시작하여 더 많은 공간을 확보 할 공간을 마련합니다 ( 페이징 이라고 함 ). 이것이 SSD에 있더라도 디스크 드라이브가 RAM보다 속도 가 느려서 컴퓨터 속도가 느려지는 이유이며, 메인 메모리를 남기지 않고 프로그램을 계속 실행할 수있는 이유이기도합니다.

유휴 메모리는 종종 스왑 아웃되어 활성 프로그램이 가능한 많은 RAM을 가질 수 있습니다. 이것이 메모리 사용이 일반적인 유휴 상태 아래로 내려가는 이유입니다. 시스템은 메모리 페이지에서 다시 스왑을 시작하고 유휴 메모리는 결국 RAM을 채 웁니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.