Backend/DevOps
AWS ElasticBeanstalk Pytorch libgomp-d22c30c5.so.1: cannot allocate memory in static TLS block 트러블슈팅
mopil
2023. 12. 24. 00:39
반응형
딥러닝 모델을 탑재한 FastAPI 앱을 AWS ElasticBeanstalk으로 배포하는 과정에서
분명 로컬에서는 잘 되는데 빈스톡 환경에서 import torch하는 부분에
libgomp-d22c30c5.so.1: cannot allocate memory in static TLS block
에러가 뜨면서 서버가 배포되지 않는 이슈를 맞이했다.
요 스택오버플로 글을 보고 해결했다.
빈스톡 로그를 보면 어느 경로에서 에러가 났는지 나온다.
빈스톡은 구성 탭에서 환경변수를 설정할 수 있는데, 거기에 똑같이 넣어주면 된다. (정말 똑같이 넣어야한다.)
/var/app/venv/staging-LQM1lest/lib64/python3.8/site-packages/torch/lib/../../torch.libs/libgomp-6e1a1d1b.so.1.0.0
내 경우 위와 같은 경로였다.
그러면 잘 배포되는 것을 확인 할 수 있다.
LD_PRELOAD랑 libgomp가 도대체 뭐길래 궁금해서 지피티에게 물어봤다.
메모리가 부족하다길래 인스턴스 램을 32GB까지 올려봤으나 똑같은 오류가 나길래 한 참 해맸다...
https://bugzilla.redhat.com/show_bug.cgi?id=1722181
뭐 대충 이런 버그가 있다고 한다.
구글링 해도 잘 안나와서 5시간 동안 삽질했다... 생각보다 간단한 에러여서 허무했다 ㅠ.ㅠ
ps) 만약 코랩에서 학습한 모델을 서버에 탑재한다면, 코랩 환경의 torch 버전과 동일하게 맞춰주자.
반응형