Often memory use has nothing to do with how many facts or rules you
have, but on the structure of the Rete network you've built with your
rules, and in particular, how many partial matches it generates. Have
a look at these links to get an idea of what to look out for:
http://www.jessrules.com/jess/FAQ.shtml#Q12
http://www.jessrules.com/jess/docs/71/rete.html#efficiency
On Sep 14, 2009, at 9:42 AM, jo wrote:
Hi
I got following error, which surprises me as I try to keep the
amount of facts to a minimum.
Can I detect this condition *before* it is about to happen ? Any
ideas on how to prevent this ?
30m is really not that long :(
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at jess.factory.FactoryImpl.newToken(FactoryImpl.java:27)
at jess.Node2.tokenMatchesLeft(Node2.java:326)
at jess.Node2.doRunTestsVaryRight(Node2.java:314)
at jess.Node2.doRunTestsVaryRight(Node2.java:299)
at jess.Node2.runTestsVaryRight(Node2.java:292)
at jess.Node2.callNodeLeft(Node2.java:156)
at jess.NodeJoin.passAlong(NodeJoin.java:99)
at jess.Node2.tokenMatchesLeft(Node2.java:328)
at jess.Node2.doRunTestsVaryRight(Node2.java:314)
at jess.Node2.doRunTestsVaryRight(Node2.java:299)
at jess.Node2.runTestsVaryRight(Node2.java:292)
at jess.Node2.callNodeLeft(Node2.java:156)
at jess.NodeJoin.passAlong(NodeJoin.java:99)
at jess.Node2.tokenMatchesLeft(Node2.java:328)
at jess.Node2.doRunTestsVaryRight(Node2.java:314)
at jess.Node2.doRunTestsVaryRight(Node2.java:299)
at jess.Node2.runTestsVaryRight(Node2.java:292)
at jess.Node2.callNodeLeft(Node2.java:156)
at jess.Node1RTL.passAlong(Node1RTL.java:46)
at jess.Node1RTL.callNodeRight(Node1RTL.java:28)
at jess.Node1.passAlong(Node1.java:49)
at jess.Node1MTELN.callNodeRight(Node1MTELN.java:35)
at jess.Node1.passAlong(Node1.java:49)
at jess.Node1TECT.callNodeRight(Node1TECT.java:40)
at jess.NodeRoot.passAlong(NodeRoot.java:39)
at jess.NodeRoot.callNodeRight(NodeRoot.java:14)
at jess.FactList.processToken(FactList.java:31)
at jess.FactList._assert(FactList.java:210)
at jess.FactList.assertFact(FactList.java:181)
at jess.Rete.assertFact(Rete.java:548)
at jess.FactFunctions$Assert.call(FactFunctions.java:50)
at jess.FunctionHolder.call(FunctionHolder.java:35)
real 30m12.867s
user 27m48.316s
tx
J
--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users
[email protected]'
in the BODY of a message to [email protected], NOT to the list
(use your own address!) List problems? Notify [email protected]
.
--------------------------------------------------------------------
---------------------------------------------------------
Ernest Friedman-Hill
Informatics & Decision Sciences, Sandia National Laboratories
PO Box 969, MS 9012, Livermore, CA 94550
http://www.jessrules.com
--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [email protected]'
in the BODY of a message to [email protected], NOT to the list
(use your own address!) List problems? Notify [email protected].
--------------------------------------------------------------------