• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

SpringBatch 시작 시 cpu 사용률 증가

22.08.26 09:32 작성 조회수 799

0

강사님 안녕하세요. 강의 잘 보았습니다.

실제 SpringBatch를 업무에 사용 중인데
서버에서 배치job(jar) 실행 시(SpringBatch 기동 시)
cpu 사용률이 급격하게 많이 올라가는(80%정도)걸 확인하였습니다

각 상황에 따라 다르겠지만
SpringBatch에서 설정이나 불필요한 모듈 제외하는 등으로
시작 시 cpu 사용량을 좀 줄일 수 있는 방법이 있는지 궁금합니다.

답변 1

답변을 작성해보세요.

0

음..네.

사실 하드웨어 자원을 효율적으로 사용하는 문제는 java 자체의 문제에서 기인한다고 봅니다

Jvm 을 실행시키고 클래스를 로딩하고 등 많은 cpu 연산작업을 필요로 합니다.

스프링 배치에서 cpu 를 과다하게 사용하는 기능이 있다면 모르겠지만 예를 들어 멀티 스레드 환경에서는 cpu 컨텍스트 스위칭 등의 작업을 하게 되고 동시성 이슈를 관리해야 하는 등 cpu 연산을 더 필요로 하는 작업이 있을 수 있습니다.

만약 배치를 독립적으로 jvm 을 띄워 실행시키는 것이 아닌 어떤 데몬이나 서버에 포함되어 실행되고 종료되는 식으로 제어된다면 cpu 가 급격하게 올라가지 않을 수 있지만 이 역시도 실행해보면서 모니터링 해야 합니다.

자바 성능 혹은 코드 최적화 등의 주제로 검색해서 알아보는 것도 하나의 방법인 것 같습니다