我正在处理非常大的数据集。我试图在一个数组中分配16 in
由于某些原因,我不知道,如果我试图访问这个位置(比如说)“6亿”,我会发现这个位置是不可访问的,并且在运行时我会得到一个分段错误错误。为了节省每个指针的地址,这需要更多的内存空间(多出80亿字节)。以这种方式,我的程序被杀了,而现在我没有,但当我试图访问一些地址时,我会出现分段错误。编辑如果我分配了10块1亿6千万(甚至更多),我没有任何错误,内存被分配。问题在于分配一个大块。我现在的问题是:有没有办法克服这个限制?
我使用的是ArchLinux和3.18.6-1内核,当软件使用的不仅仅是物理内存(当总内存使用的是>5.8 GB)时,它总是滞后,没有响应,我所能做的就是重置计算机。我提供了足够大的swap on /etc/fstab我的vm.swappiness是1,free -m命令的输出:buff/cache available
Mem: 7800 3059