[에러노트] Out of memory. unable to create native thread: possibly out of memory or process/resource limits reached

hyewon jeong·2023년 7월 6일
0

에러노트

목록 보기
32/45

1. 발생

간혹 프로젝트 하다보면 메모리 부족이라며 한번씩 이 에러가 발생한다. 매번 발생할때마다 임시로

max user processes 값 변경 방법
>ulimit -u 65535

을 이용하여 임시로 했던 기억이 있는데 매번 하기 귀찮아 영구적으로 변경하는 방법을 찾았다.

2. 코드

Out of memory. unable to create native thread: possibly out of memory or process/resource limits reached

3. 원인

시스템 리소스 제한에 도달하여 새로운 네이티브 스레드를 생성할 수 없을 때 발생합니다.
max user processes 값을 확인해보니 2666 으로 낮았다. 그래서 이 값을 영구적으로 변경해주는 방법을 택했다.

4. 해결

  1. 터미널을 엽니다.
  2. 다음 명령어를 실행하여 limits.conf 파일을 엽니다.
    이때 sudo를 사용하여 root 권한으로 실행합니다:
sudo vi /etc/security/limits.conf
  1. limits.conf 파일이 열리면 커서를 원하는 위치로 이동합니다.
  2. 변경하려는 설정을 추가하거나 수정합니다. 예를 들어, max user processes 값을 변경하려면 다음과 같이 작성합니다:
*       hard    nproc   5000

여기서 *는 모든 사용자에게 적용되는 것을 의미합니다. nproc은 max user processes를 의미하며, 5000은 원하는 값으로 변경하면 됩니다.

  1. 편집이 완료되면 Esc 키를 누르고 :wq를 입력하여 파일을 저장하고 닫습니다.
    설정이 적용되려면 시스템을 재부팅해야 합니다.

위 단계를 따라 /etc/security/limits.conf 파일을 열어 원하는 설정을 수정할 수 있습니다. 하지만 시스템 설정 파일을 수정하는 작업은 신중하게 수행해야 하며, 필요한 경우에만 진행해야 합니다.

profile
개발자꿈나무

0개의 댓글