질문&답변
Built-In Node가 오프라인 상태일때
해당 문제 해결한 방법 올려드립니다. 오답노트처럼 적어 읽는데 양해 부탁드립니다. EC2 Jenkins 메모리 문제. 임시로 EC2에 젠킨스 서버를 구성했는데, 메모리 부족과 속도 저하 문제가 발생했다. 기본적으로 젠킨스 자체가 약 350MB 정도의 메모리를 사용하는데, 내가 사용한 인스턴스 타입은 t3.micro라서 메모리가 1GB밖에 안 됐다. 그래서 여러 가지 방법을 시도했다. 첫 번째로, 인스턴스 타입을 t3.small로 변경해서 서버 스펙을 스케일업했다. 두 번째로, 스왑 메모리 2GB를 추가해서 실제 메모리 부족 상황에서 디스크 기반으로 버틸 수 있게 했다. 세 번째로는 학습용이기도 하고, 동시에 실행할 Job 수도 적기 때문에 Executor 수를 기본 2개에서 1개로 줄였다. 이걸로 CPU, RAM, Disk 사용량을 줄였다. 마지막으로, Executor 수가 줄면 동시에 Job이 덜 돌아가니까 /tmp 디렉토리 사용량도 상대적으로 천천히 올라갈 거라 판단했다. 그래서 Jenkins의 노드 모니터링 설정에서 Free Temp Space의 임계치를 기본 1GiB에서 500MiB로 낮춰줬다. 이걸로 Jenkins 내부에서 발생하는 불필요한 경고를 줄이고, 리소스 감시로 인한 오버헤드도 최소화하면서 메모리 문제를 어느 정도 해결할 수 있었다. 위 글 보시면서 Jenkins 관리 > System에서 Executor 수 1로 줄이시고, Node 관리에서 모니터링하는 임계점 줄이시면 저처럼 small로 스케일업 안하셔도 micro에서 돌아갈거라고 생각합니다.
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 867





