我正在尝试运行 Partiview 软件,它是粒子数据集的可视化工具。我运行了一个包含数百万个粒子的大型模拟,我尝试可视化的结果数据文件为 4.26 GB。当我尝试运行该软件时,出现以下错误:
./partiview sim_evo_128_snap50.cf
./leigh_data/dm128_evolution_50snap.speck: can't open: Value too large for defined data type
我的理解是,32位系统的默认最大大小是2GB,对于更大的文件,我需要更改64位系统的系统设置。我到底如何在终端中完成此操作,4GB 是 64 位系统中数据文件的最大大小?
答案1
您收到的错误消息与错误代码相匹配EOVERFLOW
,该错误代码位于open
系统调用如果 32 位应用程序尝试打开大 (>= 2 GB) 文件,则会返回:
EOVERFLOW
路径名指的是太大而无法打开的常规文件。这里通常的情况是,在没有 -D_FILE_OFFSET_BITS=64 的 32 位平台上编译的应用程序尝试打开大小超过 (1<<31)-1 字节的文件;
正如文本提示的那样,32 位应用程序可以访问更大的文件,前提是它们是使用必要的设置进行编译的(对相关数据类型使用更大的整数,并调用正确版本的系统调用)。
您正在运行的应用程序似乎未编译为支持大文件。不,您无法更改它,除非重新编译它或获取支持大文件的版本。