32位Linux文件限制大小
线上程序不断重新启动,查看log发现是进程由于SIGXFSZ信号退出。对过大的文件进行操作的时候会产生此信号,一般仅仅在32位机器上出现,文件限制大小为2G。用lsof查看进程打开的文件,果然有一个文件达到2G。
解决方式:编译时加上參数:-D_FILE_OFFSET_BITS=64;代码中调用lseek时參数为off_t(不要为int或long,否则在32位和64位中表现不同)。
附上一个链接,linux大文件支持:http://users.suse.com/~aj/linux_lfs.html,如今64位系统非常少关注这个问题了。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。