ACL2退出代码137是什么意思?

时间:2015-06-04 20:51:42

标签: acl2

ACL2退出代码137是什么意思?输出如下:

Form:  ( INCLUDE-BOOK "centaur/ubdds/param" ...)
Rules: NIL
Time:  0.00 seconds (prove: 0.00, print: 0.00, other: 0.00)
:REDUNDANT
Note: not introducing any A4VEC field bindings for A, since none of
its fields appear to be used.
Note: not introducing any MODSCOPE field bindings for SCOPE, since
none of its fields appear to be used.


;;; Starting full GC,  10,736,500,736 bytes allocated.
Exit code from ACL2 is 137
top.cert seems to be missing

2 个答案:

答案 0 :(得分:1)

看起来" Linux OOM杀手"杀了你的程序。

退出状态137表示程序以singal 9(SIGKILL)终止(见here):

  

当命令终止于编号为N的致命信号时,Bash使用值128 + N作为退出状态。

128+9=137

日志中的此消息告诉我们您的ACL2证明消耗了10Gb的内存:

  

;;;启动完整的GC,分配了10,736,500,736个字节。

Linux具有一种功能,可以在系统内存非常低时终止攻击过程。它被称为OOM Killer:https://www.kernel.org/doc/gorman/html/understand/understand016.html

此类事件由内核记录。您可以立即看到它们以确保:

$ dmesg |grep -i "killed process"
Mar  7 02:43:11 myhost kernel: Killed process 3841 (acl2) total-vm:128024kB, anon-rss:0kB, file-rss:0kB

有两个ACL2来电:set-max-memmaybe-wash-memory可用于控制内存消耗。

(include-book "centaur/misc/memory-mgmt" :dir :system) ;; adds ttag
(value-triple (set-max-mem (* 4 (expt 2 30))))           ;; 4 GB

不幸的是,这两个调用并不能保证释放内存。考虑使用更强大的计算机进行校对。

答案 1 :(得分:0)

退出代码137表示它已被bash用-9

杀死

参考:http://www.tldp.org/LDP/abs/html/exitcodes.html