본문 바로가기
CODE/CodeKnowledge

메모리 주소 선할당 vs OOM

by 솔리닉__ 2023. 11. 20.
반응형

웹 사이트에서 갑자기 메모리가 증가한다면 생길 수 있는 여러가지 가능성이 있습니다. 그런데 주의해야 할 점은 메모리 주소를 jvm에서 미리 할당해놓는 경우가 있습니다. 이 경우에는 정상적으로 작동하나, 메모리 모니터링에서는 메모리가 높게 나올 수 있습니다. 

 

하지만 oom은 다릅니다. 이 경우는 심각한 문제가 발생할 수 있습니다. 이것에 대해서 더 자세하게 알아보겠습니다. 

 

메모리 주소 선할당 vs OOM 

  • 메모리 주소 미리 할당: 이 경우, 시스템이나 프로그램은 실제로 사용할 필요가 없는 메모리까지 미리 주소 공간을 할당하여 사용량이 많아 보입니다. 이는 메모리 관리 전략의 일부로, 실제 메모리 사용량은 할당된 양보다 적을 수 있습니다.
  • Out of Memory (OOM): OOM 오류는 시스템이나 프로그램이 필요로 하는 메모리가 실제로 사용 가능한 메모리를 초과할 때 발생합니다. 이는 메모리 자원이 실제로 부족한 상황을 나타내며, 프로그램이나 시스템이 정상적으로 기능을 수행할 수 없게 됩니다.

 

Out of Memory (OOM)가 생기는 이유

 

  1. 메모리 누수: 프로그램이 사용 후 메모리를 해제하지 않아 계속해서 사용 가능한 메모리가 줄어드는 경우.
  2. 과도한 메모리 요구: 프로그램이 매우 크거나 복잡한 데이터 구조를 처리하면서 너무 많은 메모리를 요구하는 경우.
  3. 시스템 자원 한계: 시스템에 물리적인 메모리 한계가 있고, 동시에 여러 프로세스가 실행되면서 사용 가능한 메모리가 부족한 경우.
반응형

댓글