2013-05-30 3 views
2

그래서 Java를 시작하고 this 웹 사이트에서 운영 체제가 응용 프로그램에 사용되는 메인 메모리의 사용되지 않는 섹션을 찾으려고합니다. 공간이 충분하지 않으면 어떻게됩니까?프로그램을 실행하기 위해 주 메모리에 충분한 공간이 없으면 어떻게해야합니까?

+0

오류가 발생합니다. 실제로는 많은 메모리가 필요하며 적절한 크기의 서버로 실행해야합니다. 그렇지 않으면 xxx MB 이상을 사용하지 않도록하고 대부분의 (심지어 평범한) 컴퓨터에서도 정상적으로 작동합니다. – assylias

답변

3

운영 체제에 따라 메모리가 부족한 경우 어떻게됩니까? 다소 덜 정교한 운영 체제에서는 메모리를 확보하기 위해 일부 응용 프로그램을 수동으로 닫으라는 오류가 표시됩니다. 다른 운영 체제는 실행중인 응용 프로그램 중 하나를 디스크로 "교체"하여 주 메모리의 여유 공간을 확보하려고합니다. 다른 모든 것을 교환 한 후에도 응용 프로그램에 적합한 실제 메모리가 충분하지 않으면 이러한 운영 체제에 오류가 표시됩니다.

위의 내용은 실행을위한 메모리에 응용 프로그램을 처음로드 할 때만 적용됩니다. 대부분의 응용 프로그램은 데이터 저장을 위해 추가 메모리를 요청합니다. 일부 응용 프로그램은 동적 라이브러리를 통해 추가 실행 코드를로드하도록 요청합니다. OS가 이러한 작업을 완료하기에 충분한 메모리가 없으면 응용 프로그램에 오류를 반환합니다. 그러면 응용 프로그램은 더 이상 필요하지 않은 일부 자원을 비우거나 상황이 발생하지 않으면 정상적으로 종료하여 상황을 처리해야합니다 추가 메모리를 얻지 않고 계속할 수 있습니다.

+0

'덜 정교한 시스템들 '가상 메모리와 자바 포트를 지원하지 않는 OS가있다. – SJuan76

+0

예를 들어 리그 오브 레전드와 같은 온라인 게임을하고 있는데 게임을 계속할 수있는 공간이 부족하다면 컴퓨터가 다운 되겠습니까? 아니면 게임 속도가 느려지 죠. – Drakojan

+0

@Drakojan 대답은 응용 프로그램에 따라 다릅니다. 충분한 메모리가 없다는 사실을 알리거나 더 이상 필요하지 않은 메모리 일부를 정리하여 상황을 정상적으로 처리 할 수 ​​있습니다. 그러나 충분한 메모리가 없을 때 많은 응용 프로그램이 실제로 중단됩니다. – dasblinkenlight

1

메모리가 충분하지 않으면 프로그램이 실행되지 않습니다 (컴퓨터가 상점에 가서 직접 메모리를 추가로 구입할 수없는 경우 제외).

OS가 가상 메모리를 지원하므로 사용할 수있는 메모리의 일부가 실제로 하드 디스크 스왑 파일이기 때문에 모든 메모리가 RAM이 아닙니다. 또한 Java 및 일부 Windows (최소 XP)에서는 많은 메모리가 필요한 경우 문제가 있습니다. 충분한 공간이 있더라도 파티션이 분할되고 JVM이 단일 "블록"에 있어야하기 때문에 문제가 발생합니다. 그러나 문제를 경험하려면 많은 것을 필요로합니다.

0

JVM을 실행하기에 시스템에 충분한 메모리가 있지만 Java 프로그램을 실행할만큼 메모리가 충분하지 않은 경우 OutOfMemoryException이 발생합니다.

관련 문제