我正在使用Maxima进行一些符号计算,但是遇到错误Heap exausted
,我认为这意味着Maxima使用了过多的内存(大约1 Gb以上)。如何告诉千里马使用更多内存?
我在具有32 Gb内存的机器上使用最新的CentOS。
“堆耗尽”通常意味着某些操作(例如分解,简化有理表达式或包含基团的表达式等)导致创建越来越大的表达式。增加内存分配很少会解决此类问题-通常发生的情况是,它只会运行更长的时间,然后最终再次耗尽内存。
要尝试的几件事。 (1)Maxima用什么Lisp实现编译?您可以看到,通过build_info();
,GCL(GNU Common Lisp)使用内存的效率比其他Lisp实现要低,因此您可以尝试使用SBCL构建Maxima。在典型的Linux发行版上重建Maxima非常简单。如果您想走那条路,我会提供更多详细信息。
((2)您到底想做什么?您可以张贴您输入的导致内存错误的输入吗?也许我们可以首先重组事物或尝试一些不同的操作,以防止出现巨大的表情。