gpt4 book ai didi

prolog - 内存泄漏 Sicstus Prolog

转载 作者:行者123 更新时间:2023-12-03 05:09:00 25 4
gpt4 key购买 nike

这个问题是 question 的后续问题.

我正在 Sicstus prolog 中运行大量测试:

runtest:-
t1,
t2,
t3,
.
.
t100.

每个测试都是独立的,并将其结果打印到屏幕上。测试之间没有关系,因此每次测试之间不需要存储/保存数据。

我的问题是 Sicstus 积累内存并最终遇到异常:“资源错误:内存不足”

我尝试像这样组织我的测试:

runtest:-
once( t1 ),
once( t2 ),
.
.
once( t100 ).

但我仍然遇到这个问题。

是否有其他方法告诉 Prolog 在每次调用测试之间释放所有分配的内存?

最佳答案

不,没有办法告诉 Prolog 释放所有分配的内存。

如果测试谓词不带参数,并且将它们包装在一次/1 中没有帮助,那么故障驱动循环也没有帮助。

一种可能性是您的测试以某种方式添加了持久数据,例如断言子句。

尝试添加

garbage_collect, statistics

(部分)测试之间。这应该可以让您了解哪些内存区域正在增长。

从您之前的问题来看,可能是您的一个测试本身耗尽了内存,即该问题与运行多个测试无关。

关于prolog - 内存泄漏 Sicstus Prolog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21721036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com