본문 바로가기
동굴 속 정보

numpy.core._exceptions.MemoryError

by 도시형닌자 2021. 8. 1.

[ MemoryError ]

메모리가 부족할 때 보이는 이녀석의 전문은 아래와 같았다. 이런 에러는 Pandas를 사용할 때 보인다. 

"numpy.core._exceptions.memoryerror: unable to allocate 151. mib for an array with shape (14, 2824553)"

 

해결 방법은 생각보다 간단하다.

  1. 32비트 파이썬을 64비트로 변경한다.
  2. 부팅해고 다시 앱을 실행한다.
  3. 가상 메모리를 올린다.
  4. 물리 메모리를 증가시킨다.

 

이렇게 3가지가 있는데, 가장 가성비가 잘 나오는 해결 방법은 1번 32비트를 64비트로 올리는 것이다. 32비트에서 64비트로 올릴 경우 메모리 주소의 값이 폭발적으로 증가하여 해당 오류없이 앱이 성공적으로 동작할 것이다. 32비트를 불가피하게 사용해야 한다면 2번과 3번을 해야하는데 될 수 도 있고 안될 수 도 있기 때문에 좀 불안정하다. 4번이 그나마 안정적이지만 돈이 투입된다.

 

나같은 경우에도 키움 증권 API 사용으로 인해 32비트를 꼭 사용해야 했지만 IDE 상에서 따로 64비트를 사용하는 방법으로 32비트를 피했다. 커다란 사이즈를 가진 데이터 프레임을 사용한다면 64비트 파이썬은 필수이다.