自分の環境用のメモ
プログラムを組んでいたとき、自分の環境ではファイルサイズの最大値が 2GB のところで引っかかってしまった。
OSはVine Linux。
$ uname -r
2.6.25-7
という環境。
Programing - プログラムの素人が不思議に思ったことによると
大規模ファイルを扱うには - 2Gの壁とLSF仕様
によると、LSFを用いればファイルサイズ2GB越えが可能とのこと。
Google検索:linux XFS
プログラムを組んでいたとき、自分の環境ではファイルサイズの最大値が 2GB のところで引っかかってしまった。
OSはVine Linux。
$ uname -r
2.6.25-7
という環境。
Programing - プログラムの素人が不思議に思ったことによると
1.9 2G以上のファイルが書き込めない場合の解決策
書き込めない原因はいくつか考えられます。僕の場合は32bitのファイルポインタが原因でした。
32bitのファイルポインタ(C言語)(プログラミング/C,C++/2GBより大きなファイルの扱い)
容量制限(ディスクquota)()
リソース制限で最大ファイルサイズに制限(PMA)(http://www.itmedia.co.jp/help/tips/linux/l0652.html)
小さなブロックサイズ(ファイルシステム)(http://blog.ohgaki.net/ext3-2tb-16gb)
大規模ファイルを扱うには - 2Gの壁とLSF仕様
によると、LSFを用いればファイルサイズ2GB越えが可能とのこと。
■gccで大規模ファイル対応のコンパイル
最近のgcc(glibc)ではLSF使用に対応しています。よって、プログラムを2GB以上のファイルに対応させる場合は、makefile等で、
CPPFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
等と書いてやればOKです。
Google検索:linux XFS
スポンサーサイト
この記事のトラックバックURL
http://tekitobibouroku.blog42.fc2.com/tb.php/41-849b4da3
この記事にトラックバックする(FC2ブログユーザー)
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
