Ubuntu 16.04 LTS:定義されたデータ型と比較して値が大きすぎます。

Ubuntu 16.04 LTS:定義されたデータ型と比較して値が大きすぎます。

パーティクルデータセット用の可視化ツールであるPartiviewソフトウェアを実行しようとしています。何百万もの粒子を使用して大規模なシミュレーションを実行し、視覚化しようとした結果のデータファイルは4.26GBでした。ソフトウェアを実行しようとすると、次のエラーが発生します。

./partiview sim_evo_128_snap50.cf 
./leigh_data/dm128_evolution_50snap.speck: can't open: Value too large for defined data type

私が理解したように、32ビットシステムのデフォルトの最大サイズは2 GBで、より大きなファイルの場合は64ビットシステムのシステム設定を変更する必要があります。端末でこれを行うにはどうすればよいですか? 64ビットシステムでは、データファイルの最大サイズは4 GBですか?

ベストアンサー1

あなたが受け取ったエラーメッセージは、次のEOVERFLOWエラーコードと一致します。openシステムコール32ビットアプリケーションが大容量(> = 2GB)ファイルを開こうとすると、次のものが返されます。

EOVERFLOW
パス名は、大きすぎて開けられない一般ファイルを参照します。ここで一般的に発生する現象は、-D_FILE_OFFSET_BITS = 64なしで32ビットプラットフォームでコンパイルされたアプリケーションが(1 << 31)- 1バイトを超えるファイルを開こうとすることです。

テキストが示すように、32ビットアプリケーションは、必要な設定(関連するデータ型により大きな整数を使用し、正しいバージョンのシステムコール呼び出し)でコンパイルされている場合は、より大きなファイルにアクセスできます。

実行中のアプリケーションが大容量ファイルをサポートするようにコンパイルされていないようです。いいえ、再コンパイルしたり、大容量ファイルをサポートするバージョンを取得しなくても変更することはできません。

おすすめ記事