2016-08-02 9 views
1

このコード、例えば、オープン1つのファイルをコピーしようと1029回SimGridで開いているファイルの最大数を変更するにはどうすればよいですか?

for (int i = 0; i < 1029; ++i) { 
    MSG_process_create("copy", create_copy, data, MSG_host_self()); 
} 
int create_copy(){ 
    MSG_file_rcopy(file, src, argv[2]); 
} 

私は例外を持っている:

[dave:copy:(1027) 0.034653] simgrid-master/src/xbt/exception.cpp:45: [xbt_exception/CRITICAL] Uncaught exception xbt_ex by copy/1027: Too much files are opened! Some have to be closed. 

は、それが同時に開くファイルの最大数を変更することは可能ですか?または私のRAMメモリのこの制限?

答えて

1

実際に1024ファイル/ホストにハードコードされた制限がありました。この値を変更できるようにstorage/max_file_descriptorsフラグを追加しました(--cfg = storage/max_file_descriptors:2048に2048に設定)。 コミット(c52c503d21e5)はgforge上にあり、まだgithubに伝播されていませんでした。これはすぐに実行する必要があります。

+1

今、githubでOKであるはずです(しかし、まだテストされていません)。 – degomme

関連する問題