IOError
この場合を除いて、他の方法では機能するコードでハプニングがあります。私の完全なトレースバックは、
Traceback (most recent call last):
File "Utt_test.py", line 962, in <module>
IOError: [Errno 5] Input/output error: '/SAH/SAH5/jimunoz/DUSTYlib2/models_Y400_1499K/COMPACTs3200_SiW_g+1.5_m1.0_t02_st_z+0.0
close failed in file object destructor:
IOError: [Errno 5] Input/output error
close failed in file object destructor:
IOError: [Errno 5] Input/output error
エラーが発生しているコードのセクションは次のとおりです。
#print 'Begin outer loop: Accessing the full DUSTY Models through the .tbl'
for i in range(BestX):
Tin=model[BestFitsModel[0][i]][2]
Tau2=np.append(Tau2,model[BestFitsModel[0][i]][6])
Dir=model[BestFitsModel[0][i]][0]
Dir=Dir.replace('inp','out',1) ##replaces inp file-name extension with out, opens up correct .out file
with open(Dir.replace('inp','out',1),'rb') as T: #This is line 962
Tau = [line.split() for line in T if line.strip()]
(上記のコード ブロックの最後から 2 行目)
要するに、コード全体が、観測された恒星データを理論モデルと比較します。入力パラメーターの 1 つは、最小二乗しきい値を要求します (モデルがしきい値を下回っている場合、その情報をファイルに出力します)。コードはこれまでのところうまく機能していますが、通常よりも大きな値でしきい値を実行することにし、一晩放置して、これに戻ってきました。しきい値が大きいほど、検索してファイルに出力する必要があるモデルの数が多くなります。私は(おそらく間違って)このアクションの持続時間がこれと関係があると考えていました. しかし、そうでなければ、私はそれをどうするかわかりません。
プログラムは小さな値でも問題なく動作するため、私には非常に奇妙です。どうしたの?
編集:(いくつかの調査の後)
dmesg
それで、何が問題なのかを確認するために走りました。
...
[3755345.325006] nfs: server pa5a not responding, timed out
[3755345.625009] nfs: server pa5a not responding, timed out
[3781101.914024] nfs: server pa5a not responding, timed out
[3781771.727017] nfs: server pa5a not responding, timed out
...
それが「ネットワークファイルサーバー」を意味することに気づきnfs
(それも調べる必要がありました)、プログラムの実行に時間がかかるとサーバーが「私を追い出す」だろうということをまとめ始めています(おそらく最も正確な言語ではありませんが、私は.私はそれを理解しようとしているだけです)。
これが起こらないように構成設定を変更する方法はありますか? サーバーで作業する必要があると仮定します。