반응형
반응형
"java.lang.OutOfMemoryError: unable to create new native thread"
이 오류는 java에서 너무 많은 thread를 생성하여
더 이상 생성을 못하는 상황에서 발생하는 오류이다.
조치 방법에 대해서는 크게 두 가지로 볼 수 있다.
1. JAVA Stack size 를 조정하여 조치하는 방법
JVM 실행 옵션에 -Xss 값을 줄여서 가지고 있는 메모리 대비 더 많은 thread 생성 가능
2. OS 상에 커널 퍼라미터를 수정하여 조치하는 방법
(1) kernel.threads-max 값 체크
[root@test-1 ~]# cat /proc/sys/kernel/threads-max
7743
아래 파일 내용의 네번째 항목은 현재 CPU가 수행하고 있는 스레드 수 / 커널 스케줄러 목록 총 스레드수이다
현재 총 스레드 수는 119개이며 필요에 따라 조정을 해줍니다.
[root@test-1 ~]# cat /proc/loadavg
0.03 0.08 0.05 2/119 1359
(2) max user processes 값 체크
스레드수는 기본적으로 프로세스 수의 제한을 따른다, max user processes 수를 체크하여 필요에 따라 조정을 해줍니다
[root@test-1 ~]# ulimit -a | grep processes
max user processes (-u) 3871
(3) kernel.pid_max 값 체크
[root@test-1 ~]# cat /proc/sys/kernel/pid_max
32768
아래 파일 내용의 다섯 번째 항목은 가장 최근에 실행한 PID(프로세스 아이디)입니다.
해당 값이 kernel.pid_max 값 제한에 걸리지는 않는지 체크하여 필요에 따라 조정을 해줍니다
[root@test-1 ~]# cat /proc/loadavg
0.03 0.08 0.05 2/119 1359
반응형
'IT' 카테고리의 다른 글
[Linux] SSL (자가 서명)사설 인증서 생성하기 (0) | 2020.10.10 |
---|---|
[Linux] 디스크 추가 후 리부팅 없이 인식시키기 (0) | 2020.10.09 |
CentOS7 SFTP 설치 및 접속하기 (0) | 2020.10.07 |
CentOS7 FTP(vsftpd) 서버 설치 및 접속하기 (0) | 2020.10.06 |
[WAS] apache tomcat 연동(Feat. mod_proxy_ajp) (0) | 2020.09.29 |