일괄 작업 문제 해결
살펴보기
이 가이드에서는 Rescale 플랫폼에서 일괄 작업을 실행하는 사용자가 직면하는 몇 가지 일반적인 오류 원인을 보여줍니다. 이러한 오류 중 일부를 진단하는 방법을 보여 드리겠습니다. 또한 이를 방지하고 수정하는 방법에 대해서도 논의하겠습니다.
작업현황 페이지
- 작업의 출력 검토 Status 페이지
결과 페이지
process_output.log
우리가 항상 제안하는 첫 번째 단계 모든 직업, 성공 여부는 다음을 검토하는 것입니다. process_output.log
파일. 이 파일은 실행 중인 소프트웨어 분석 방법의 표준 출력을 기록합니다. 또한 잠재적인 오류 메시지도 기록됩니다.
- 를 찾으려면
process_output.log
파일 작업으로 이동 결과 페이지 - 검색창에 파일을 검색하세요
- 보통
log
orprocess
충분한 검색어입니다
- 보통
- 보기
process_output.log
화면 아이콘을 사용하여 파일을 행위 칼럼- 파일이 너무 큰 경우 텍스트 편집기에서 보기 전에 먼저 파일을 다운로드해야 할 수도 있습니다.
- 이 로그 파일을 주의 깊게 검토하고 경고 또는 오류 메시지를 찾으십시오.
- 대부분의 경우, 여기서 오류를 확인할 수 있습니다
종료 코드
찾아야 할 핵심 필드 중 하나는 끝 부분에 있는 "종료 코드"입니다. process_output.log
파일. 분석 방법이 원활하게 실행되고 오류 메시지를 게시하지 않고 깔끔하게 종료되면 다음이 생성되어야 합니다.
코드 0으로 종료
작업은 다음으로 완료될 수 있습니다. code 0
, 이는 단순히 프로세스가 오류 없이 실행되었음을 의미합니다. 이것은 물론이다 보장하지 않는다 작업이 의도한 대로 실행되었다는 것입니다. 프로그램에서 명시적인 시스템 오류(예: 메모리 부족, core멀티코어 프로세서 내의 개별 처리 장치 더 보기 덤프, 디스크 공간 부족 등), 프로세스는 XNUMX이 아닌 종료 코드를 생성합니다. 발생할 수 있는 일반적인 종료 코드:
종료 코드 | 의미 |
---|---|
1 | 일반적인 오류에 대한 캐치홀 |
2 | 쉘 내장 기능의 오용 |
126 | 호출된 명령을 실행할 수 없습니다. |
127 | 명령어를 찾을수 없음 |
128 | 종료할 인수가 잘못되었습니다. |
128+n | 치명적인 오류 신호 “n” |
130 | Ctrl-C에 의해 종료된 스크립트 |
137 | 프로세스의 명시적인 종료 또는 메모리 부족을 포함하여 결정되지 않은 종료 모드 |
255 * | 종료 상태가 범위를 벗어났습니다. |
물론 이러한 오류 코드는 가장 유익하지는 않지만 디버깅을 위한 시작점을 제공합니다.
기본 디버깅 단계
오류 메커니즘은 매우 다양하지만 가장 일반적인 문제 중 일부와 이를 진단하고 방지하는 단계는 아래에 나열되어 있습니다.
입력 파일 누락
- 필요한 모든 파일이 개별적으로 또는 압축된(zip, tarball 등) 입력 파일 데크에 작업에 포함되어 있는지 확인하십시오.
잘못된 파일 경로
- 압축된 입력 파일 데크가 적절한 디렉터리 경로로 확장되는지 확인하세요.
- 스크립트, 입력 파일 및 기타 작업 정의에서 상대 파일 경로를 사용합니다.
- Rescale이 소프트웨어를 실행합니다. 명령(들)에 표시된 소프트웨어 설정 압축 파일이 풀릴 동일한 작업 디렉토리의 페이지
- Rescale 플랫폼은 준비된 입력 파일이 최상위 디렉토리 수준에 패키지되어 있다고 가정합니다.
- zip/tar/etc 명령이 실행될 디렉터리 수준의 입력 파일
- 또는 케이스 하위 디렉터리가 사용되는 경우(예:
run01_configB
), 분석 소프트웨어 명령 앞에 다음과 같이 디렉토리를 적절하게 변경했는지 확인하십시오.cd run01_configB && run_analysis
- 이는 Rescale 플랫폼에서 선호하는 작업 흐름이 아닙니다.
공통 파일 시스템에 대한 액세스가 필요한 다중 노드 작업
헤드 프로세스가 파일 I/O 및 작업자 프로세스와의 통신을 처리하는 대부분의 분석 방법의 경우 Rescale은 기본적으로 사용자가 지정한 입력 파일을 ~/work
. 그러나 일부 방법에서는 공유 파일 시스템에 대한 액세스도 필요한 노드에서 작업자 프로세스를 시작합니다.
- Rescale 플랫폼에서는
~/work/shared
디렉터리는 작업의 모든 컴퓨팅 노드에 NFS로 마운트됩니다.- Rescale은 이러한 분석 방법의 대부분을 식별했으며 기본적으로 작업을 시작합니다.
~/work/shared
예배 규칙서 - 그러나 런타임 사용자 정의 또는 옵션으로 인해 노드에서 실행되는 작업자 프로세스에 입력 파일에 대한 액세스, 런타임 라이브러리 로드 또는 출력 파일 작성이 필요한 경우가 있습니다.
- Rescale은 이러한 분석 방법의 대부분을 식별했으며 기본적으로 작업을 시작합니다.
- XNUMXD덴탈의 명령 를 시청하여 이에 대해 더 많은 정보를 얻을 수 있습니다. 소프트웨어 설정 페이지 앞에는 움직임 과 디렉토리 변경 명령 :
입력 파일을 읽는 중 오류가 발생했습니다.
- 분석 소프트웨어에서 예상한 대로 입력 파일이 올바르게 구성되었는지 확인하세요.
- 적절한 소프트웨어인지 확인하십시오. 버전 "소프트웨어 설정" 드롭다운 페이지에서 선택됨
- 텍스트 입력 파일이 올바른 형식인지 확인하십시오.
- 배치 컴퓨팅 노드는 일반적으로 Linux 시스템입니다. 사용하는 텍스트 편집기의 유형에 따라 줄 끝/파일 끝 문자가 다르게 인코딩되는 경우가 있습니다.
- Windows 텍스트 편집기를 사용하면 다음과 같은 파일이 생성되는 경우가 많습니다.
^M
Linux에서 사용하지 않는 개행 문자- VI/VIM과 같은 텍스트 편집기를 사용하여 이를 바꾸려면 다음 명령으로 해당 문자를 바꿀 수 있습니다.
:%s/^M$//
- 참고 :
^M
로 입력ctrl-V
과ctrl-M
- VI/VIM과 같은 텍스트 편집기를 사용하여 이를 바꾸려면 다음 명령으로 해당 문자를 바꿀 수 있습니다.
분석 방법에서 다른 로그 파일을 검사합니다.
-
Rescale 플랫폼은 표준 출력 메시지를 출력합니다.
process_output.log
, 일부 분석 방법은 중요한 정보를 다른 로그 파일에 인쇄합니다. -
이러한 출력 파일은 일반적으로 'log', 'out', 'live' 또는 'dat'의 파일 확장자를 갖지만 분석 방법에 따라 달라질 수 있습니다. 소프트웨어 공급업체의 설명서를 참조하세요.
이러한 로그 파일은 일반적으로 ASCII 텍스트 파일이므로 파일 이름 옆 오른쪽 열에 있는 작은 화면 아이콘을 사용하여 볼 수 있습니다.
누락된 라이브러리 파일
- 프로세스에 작업에 사용되는 사용자 정의 라이브러리 파일에 대한 적절한 액세스 및 경로 정의가 있는지 확인하십시오.
- Rescale 지원팀은 귀하의 애플리케이션에 대한 추가 라이브러리를 설치해야 할 수도 있습니다.
- 알려주세요 크기 조정 지원 이런 메시지를 받았다면
시스템 리소스 부족
- 확인하십시오 시뮬레이션시뮬레이션은 실험, 테스트 시나리오 및 제작입니다. 더 보기 프로세스에는 런타임 동안 충분한 물리적 메모리와 저장 공간이 있습니다.
- 일부 코드는 분석에 따라 런타임 중에 메모리 공간 크기를 변경하므로 시작 시 충분한 메모리가 유지되지 않을 수 있습니다.
- 일부 코드는 또한 최종 출력 파일보다 저장소 공간을 부풀릴 수 있는 대량의 스크래치 데이터 파일을 생성합니다.
- 자세한 내용은 “클러스터 상태” 작업 하단에 Status 여유 메모리 및 디스크 공간을 모니터하는 페이지
- 메시/시뮬레이션의 크기를 줄여 작업이 성공적으로 실행될 수 있는지 확인하세요.
- 더 많은 코어 및/또는 노드에서 실행
- 더 많은 물리적 메모리 또는 스토리지를 갖춘 특수 코어 유형을 선택하세요.
적절한 라이센스 액세스
- 라이센스 설정이 소프트웨어 설정 페이지가 올바르게 정의되었습니다. 일반적으로 이는 port@hostname 형식입니다.
- process_output.log에서 볼 수 있듯이 라이센스 파일의 기능을 체크아웃하고 있는지 확인하세요.
- 실행하려는 명령에 기능이 사용되었는지 확인하는 올바른 옵션이 있는지 확인하세요.
- 실행하려는 명령에 기능이 사용되었는지 확인하는 올바른 옵션이 있는지 확인하세요.
- 귀하가 귀하의 라이센스에 대한 책임이 있는 사람인 경우 섬기는 사람서버는 다른 사람에게 서비스를 제공하는 컴퓨터 프로그램입니다. 더 보기:
워크플로 디버깅
- 프로덕션 규모의 실행을 시작하기 전에 워크플로를 연습하는 작은 테스트 사례를 설정하세요.
- 사전 및 사후 처리 단계가 분석 옵션 > 명령
- 대화형으로 테스트 작업 실행
- 기존 교체 명령 과
sleep 3600
ssh
계산 속으로 노드전통적인 컴퓨팅에서 노드는 네트워크의 객체입니다. ... 더 보기 일단 시작되면- 분석 방법에 적합한 디렉토리로 변경합니다(
~/work
or~/work/shared
) - 작업을 대화형으로 시작하려고 시도합니다.
- 성공적인 결과를 생성하는 모든 명령을 기록하십시오.
- 당신의 수정 명령(들) 그에 따라
- XNUMXD덴탈의 명령 입력 창에서는 줄 바꿈을 허용합니다.
;
or&&
별도의 명령을 표시 - 참고: 명령은 다음으로 구분됩니다.
&&
이전 작업이 완료되는 경우에만 실행됩니다.code 0
, 다음 사람들은;
항상 이전 이후에 실행됩니다.
- XNUMXD덴탈의 명령 입력 창에서는 줄 바꿈을 허용합니다.
- 기존 교체 명령 과
이러한 일반적인 디버깅 단계로 여전히 문제가 해결되지 않으면 다음 담당자에게 연락하여 작업을 공유하십시오. 크기 조정 지원.