在 Jupyter 上运行的 SageMath 出现内存限制错误

问题描述 投票:0回答:1
RuntimeError                              Traceback (most recent call last)
/usr/lib/python3/dist-packages/sage/interfaces/interface.py in __init__(self, parent, value, is_name, name)
731             try:
\--\> 732                 self.\_name = parent.\_create(value, name=name)
733             except (TypeError, RuntimeError, ValueError) as x:

/usr/lib/python3/dist-packages/sage/interfaces/maxima_lib.py in \_create(self, value, name)
607             else:
\--\> 608                 self.set(name, value)
609         except RuntimeError as error:

/usr/lib/python3/dist-packages/sage/interfaces/maxima_lib.py in set(self, var, value)
515         cmd = '%s : %s$'%(var, value.rstrip(';'))
\--\> 516         self.eval(cmd)
517

/usr/lib/python3/dist-packages/sage/interfaces/maxima_lib.py in \_eval_line(self, line, locals, reformat, \*\*kwds)
461                 if statement:
\--\> 462                     maxima_eval("#$%s$" % statement)
463         if not reformat:

/usr/lib/python3/dist-packages/sage/libs/ecl.pyx in sage.libs.ecl.EclObject.__call__ (build/cythonized/sage/libs/ecl.c:8509)()
837         lispargs = EclObject(list(args))
\--\> 838         return ecl_wrap(ecl_safe_apply(self.obj,(\<EclObject\>lispargs).obj))
839

/usr/lib/python3/dist-packages/sage/libs/ecl.pyx in sage.libs.ecl.ecl_safe_apply (build/cythonized/sage/libs/ecl.c:6051)()
358         else:
\--\> 359             raise RuntimeError("ECL says: {}".format(message))
360     else:

RuntimeError: ECL says: Memory limit reached. Please jump to an outer pointer, quit program and enlarge the
memory limits before executing the program again.

我在 juypter 上运行 SageMath 时遇到以下错误。该代码适用于较小的数据集,但不适用于较大的数据集。它说我必须分配更多内存,我尝试更改 juypter 的配置文件中的缓冲区大小,并得到相同的错误。任何建议将不胜感激。

jupyter-notebook sage
1个回答
0
投票

有同样的问题。看看以下是否有帮助。

import sage.libs.ecl
sage.libs.ecl.ecl_eval("(ext:set-limit 'ext:heap-size 0)")

来自这里的讨论: https://groups.google.com/g/sage-support/c/nieHqAWPHpQ?pli=1

可在此处进行更深入的讨论。

https://github.com/sagemath/sage/issues/6772

您可以更改的内存限制可以在手册中找到。

https://ecl.common-lisp.dev/static/files/manual/current-manual/Memory-Management.html#tab_003amem_002dlimits

如有错误欢迎指正,因为我也在学习Sage的过程中。

© www.soinside.com 2019 - 2024. All rights reserved.