32位Linux文件限制大小

        线上程序不断重新启动,查看log发现是进程由于SIGXFSZ信号退出。对过大的文件进行操作的时候会产生此信号,一般仅仅在32位机器上出现,文件限制大小为2G。用lsof查看进程打开的文件,果然有一个文件达到2G

        解决方式:编译时加上參数:-D_FILE_OFFSET_BITS=64;代码中调用lseek时參数为off_t(不要为intlong,否则在32位和64位中表现不同)。

        附上一个链接,linux大文件支持:http://users.suse.com/~aj/linux_lfs.html如今64位系统非常少关注这个问题了。

posted @ 2014-08-30 16:05  mfrbuaa  阅读(456)  评论(0编辑  收藏  举报