Lustre 파일 시스템을 사용하는 RHEL5 클러스터에서 매우 큰 일괄 처리 작업을 실행하려고합니다. 나는 대략 1 %의 일자리를 가진 이상한 오류를 겪고있었습니다. 그들은 모두 조종을 위해 사용하는 텍스트 파일을 찾을 수 없었습니다. 충분히 이상한제출 된 작업의 일부에서 파일을 찾을 수 없습니다.
cat: batch/fits/fit-paths.txt: No such file or directory
을하지만 낯선 사람을 가져옵니다
#!/usr/bin/env bash
#PBS -t 1-18792
#PBS -l mem=4gb,walltime=30:00
#PBS -l nodes=1:ppn=1
#PBS -q hep
#PBS -o output/fit/out.txt
#PBS -e output/fit/error.txt
cd $PBS_O_WORKDIR
mkdir -p output/fit
echo 'submitted from: ' $PBS_O_WORKDIR
files=($(ls ./*.txt | sort)) # <-- NOTE THIS LINE
cat batch/fits/fit-paths.txt
은 작업의 일부 작은 부분의 경우, 오류 스트림 출력을 보여 것 : 오류를 재현하는 스크립트는 다음과 같습니다.
내가
files=($(ls batch/fits/*.txt | sort))
작업이 오류없이 실행
에 files=($(ls ./*.txt | sort))
줄을 변경 ! 말할 필요도없이, 이것은 만족스럽지 않습니다. 나는 흑 마술에 의존하고 싶지 않습니다. (블랙 마술 은보다 아니요 마술).
여기에 무슨 일이 일어나고 있는지 아십니까?
가장 좋은 방법은 디버깅을 추가하는 것입니다.'ls -l batch/fits/*'또는 이와 유사한 방법으로 해당 디렉토리가 무엇인지 확인하십시오. 어쩌면 타임 스탬프로 그 정보를 감쌀 수도있다. (동적으로 생성 된이 파일들이 타이밍 문제 일 수 있는가?)'sleep x'를 추가하여 테스트가 문제를 줄이거 나 없애는 지 확인한다. 행운을 빕니다! – shellter
어떻게 든'ls batch/fits /'를 추가하는 것이 문제를 제거한 것처럼 보입니다 ... 매우 이상하고 만족스럽지 않습니다. – Shep
이것이 광채 파일 시스템에 액세스하는 스크립트의 첫 번째 라인입니까, 아니면 네트워크에 마운트 된 다른 위치입니까? – dbeer