jijijig / Albeobsa-Backend

알(뜰마)법사
https://albeobsa-front.vercel.app
MIT License
0 stars 1 forks source link

AWS EC2 환경에서 Out of Memory 에러 발생 #23

Closed chaiminwoo0223 closed 2 months ago

chaiminwoo0223 commented 3 months ago
뽐뿌(국내게시판)
spring-boot-app  | 2024-06-04T02:01:16.774Z  INFO 1 --- [   scheduling-1] i.g.bonigarcia.wdm.WebDriverManager      : Exporting webdriver.chrome.driver as /root/.cache/selenium/chromedriver/linux64/125.0.6422.141/chromedriver
spring-boot-app  | [68422.904s][warning][os,thread] Failed to start thread "Unknown thread" - pthread_create failed (EAGAIN) for attributes: stacksize: 1024k, guardsize: 0k, detached.
spring-boot-app  | [68422.905s][warning][os,thread] Failed to start the native thread for java.lang.Thread "HttpClient-423-SelectorManager"
spring-boot-app  | 2024-06-04T02:01:16.776Z ERROR 1 --- [   scheduling-1] o.s.s.s.TaskUtils$LoggingErrorHandler    : Unexpected error occurred in scheduled task
spring-boot-app  | 
spring-boot-app  | java.lang.OutOfMemoryError: unable to create native thread: possibly out of memory or process/resource limits reached
spring-boot-app  |  at java.base/java.lang.Thread.start0(Native Method) ~[na:na]
spring-boot-app  |  at java.base/java.lang.Thread.start(Thread.java:1526) ~[na:na]
spring-boot-app  |  at java.net.http/jdk.internal.net.http.HttpClientImpl.start(HttpClientImpl.java:527) ~[java.net.http:na]
spring-boot-app  |  at java.net.http/jdk.internal.net.http.HttpClientImpl.create(HttpClientImpl.java:435) ~[java.net.http:na]
spring-boot-app  |  at java.net.http/jdk.internal.net.http.HttpClientBuilderImpl.build(HttpClientBuilderImpl.java:143) ~[java.net.http:na]
spring-boot-app  |  at org.openqa.selenium.remote.http.jdk.JdkHttpClient.<init>(JdkHttpClient.java:159) ~[selenium-remote-driver-4.14.1.jar!/:na]
spring-boot-app  |  at org.openqa.selenium.remote.http.jdk.JdkHttpClient$Factory.createClient(JdkHttpClient.java:476) ~[selenium-remote-driver-4.14.1.jar!/:na]
spring-boot-app  |  at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:115) ~[selenium-remote-driver-4.14.1.jar!/:na]
spring-boot-app  |  at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:92) ~[selenium-remote-driver-4.14.1.jar!/:na]
spring-boot-app  |  at org.openqa.selenium.remote.service.DriverCommandExecutor.<init>(DriverCommandExecutor.java:89) ~[selenium-remote-driver-4.14.1.jar!/:na]
spring-boot-app  |  at org.openqa.selenium.chromium.ChromiumDriverCommandExecutor.<init>(ChromiumDriverCommandExecutor.java:43) ~[selenium-chromium-driver-4.14.1.jar!/:na]
spring-boot-app  |  at org.openqa.selenium.chrome.ChromeDriver$ChromeDriverCommandExecutor.<init>(ChromeDriver.java:115) ~[selenium-chrome-driver-4.14.1.jar!/:na]
spring-boot-app  |  at org.openqa.selenium.chrome.ChromeDriver.generateExecutor(ChromeDriver.java:105) ~[selenium-chrome-driver-4.14.1.jar!/:na]
spring-boot-app  |  at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:88) ~[selenium-chrome-driver-4.14.1.jar!/:na]
spring-boot-app  |  at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:83) ~[selenium-chrome-driver-4.14.1.jar!/:na]
spring-boot-app  |  at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:72) ~[selenium-chrome-driver-4.14.1.jar!/:na]
spring-boot-app  |  at skhu.jijijig.service.CrawlingService.setupChromeDriver(CrawlingService.java:193) ~[!/:0.0.1-SNAPSHOT]
spring-boot-app  |  at skhu.jijijig.service.CrawlingService.crawlWebsite(CrawlingService.java:102) ~[!/:0.0.1-SNAPSHOT]
spring-boot-app  |  at skhu.jijijig.service.CrawlingService.performCrawling(CrawlingService.java:52) ~[!/:0.0.1-SNAPSHOT]
spring-boot-app  |  at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
spring-boot-app  |  at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
spring-boot-app  |  at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:351) ~[spring-aop-6.1.4.jar!/:6.1.4]
spring-boot-app  |  at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:713) ~[spring-aop-6.1.4.jar!/:6.1.4]
spring-boot-app  |  at skhu.jijijig.service.CrawlingService$$SpringCGLIB$$0.performCrawling(<generated>) ~[!/:0.0.1-SNAPSHOT]
spring-boot-app  |  at skhu.jijijig.service.CrawlingService.scheduleCrawlingTasks(CrawlingService.java:41) ~[!/:0.0.1-SNAPSHOT]
spring-boot-app  |  at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
spring-boot-app  |  at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
spring-boot-app  |  at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:351) ~[spring-aop-6.1.4.jar!/:6.1.4]
spring-boot-app  |  at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:713) ~[spring-aop-6.1.4.jar!/:6.1.4]
spring-boot-app  |  at skhu.jijijig.service.CrawlingService$$SpringCGLIB$$0.scheduleCrawlingTasks(<generated>) ~[!/:0.0.1-SNAPSHOT]
spring-boot-app  |  at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
spring-boot-app  |  at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
spring-boot-app  |  at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) ~[spring-context-6.1.4.jar!/:6.1.4]
spring-boot-app  |  at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) ~[spring-context-6.1.4.jar!/:6.1.4]
spring-boot-app  |  at io.micrometer.observation.Observation.observe(Observation.java:499) ~[micrometer-observation-1.12.3.jar!/:1.12.3]
spring-boot-app  |  at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) ~[spring-context-6.1.4.jar!/:6.1.4]
spring-boot-app  |  at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-6.1.4.jar!/:6.1.4]
spring-boot-app  |  at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) ~[na:na]
spring-boot-app  |  at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358) ~[na:na]
spring-boot-app  |  at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[na:na]
spring-boot-app  |  at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[na:na]
spring-boot-app  |  at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[na:na]
spring-boot-app  |  at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]
spring-boot-app  | 
chaiminwoo0223 commented 3 months ago

JVM 메모리 설정을 추가하여, 메모리 용량을 증가시켰습니다.