문제

우리는 사용 허드슨 강 많은 프로젝트의 자동화된 빌드(야간 및 CVS 폴링 기반)를 실행하는 지속적인 통합 시스템입니다.

일부 프로젝트는 15분마다 CVS를 폴링하고, 다른 프로젝트는 5분마다 폴링하고, 일부 프로젝트는 1시간마다 폴링합니다.

몇 주마다 다음 출력과 함께 실패하는 빌드를 받게 됩니다.

FATAL: java.io.IOException: Too many open files
java.io.IOException: java.io.IOException: Too many open files
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)

다음 빌드는 항상 작동했기 때문에(변경 사항 없음) 동시에 실행되고 프로세스 중에 너무 많은 파일이 열리는 일이 발생하는 최대 2개의 빌드 작업을 항상 초킹했습니다.

이번 주말에는 금요일 밤에 메시지와 함께 빌드 실패(자동 야간 빌드)가 발생했고 다른 모든 야간 빌드도 실패했습니다.어쨌든 이로 인해 Hudson은 문제가 해결될 때까지 실패한 모든 프로젝트를 지속적으로 빌드하게 되었습니다.이로 인해 문제가 마법처럼 사라진 토요일 밤까지 모든 프로젝트에서 약 30분마다 빌드가 이루어졌습니다.

도움이 되었습니까?

해결책

이것은 허드슨 715호(http://issues.hudson-ci.org/browse/HUDSON-715).현재 권장 사항은 폴링 활동을 억제하기 위해 '최대 동시 폴링 스레드 수'를 설정하는 것입니다.

다른 팁

보다 https://wiki.jenkins-ci.org/display/JENKINS/I%27m+getting+too+many+open+files+error 이런 종류의 문제를 해결하려면 귀하가 필요합니다.

프로세스별 최대 열린 파일 설명자에 대한 시스템 제한을 변경하시겠습니까?에서와 같이 ulimit -n Java 프로세스의 경우?

Debian에서 실행되는 다른 Java 애플리케이션에서 이 문제를 경험했는데, Java 버전 1.6.0.0으로 다운그레이드하자 문제가 사라졌습니다.Java는 사용되지 않는 연결을 닫지 않아 예외가 발생합니다.

"열린 파일이 너무 많습니다"를 일으키는 가장 일반적인 문제 중 하나는 Jenkins에서 Active Directory 플러그인을 활성화하고 구성하는 것입니다.이 플러그인에는 엄청난 수의 스레드가 표시되고 로그에 "열린 파일이 너무 많습니다" 오류가 발생하는 알려진 문제가 있습니다.이를 비활성화하고 LDAP 인증으로 전환한 후에 Jenkins가 더 이상 멈추는 현상이 발생하지 않았습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top