M
Marcel Preda
Guest
Hi,
I have a problem with a script which is creating some shapes in a
loop,
keep just few of them, delete the other shapes.
Looks like when the shape is deleted, the memory is still allocated,
and not reused.
I get next warning message:
~~~~~~~~~~~~~~~~~~~~~~
*WARNING* dbDeleteShape: A memory allocation for 2147483648 bytes
failed.
The process heap is 1130MB, and OpenAccess is using
1068MB.
The available system memory is 9710MB, and physical system memory is
16026MB.
~~~~~~~~~~~~~
So, I've create a simple test case: create and delte shpe inside of
some big loops and nothing else.
~~~~~~~~~~~~~~~~~~~~~~~~~~~
/*
Test dbDeleteObject(shape)
Inside of two big loops, create shape and delete it iemdiatelly.
After a while, the memory is exhausted.
*/
let( (x y stepX stepY m cv
shape)
cv = cv
()
x =
0
y =
0
stepX =
10
stepY =
10
m =
4321
for(i 1
10000
for(j 1
10000
shape = dbCreateRect(cv list("npoc") list(x:y (x+stepX)y
+stepY)))
dbDeleteObject
(shape)
)
println
(i)
x = modulo((x + stepX)
m)
y = modulo((y + stepY)
m)
)
)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
When i == 3355 , skill start to show the warning messages, and the
shapes are not deleted.
After a while also dbCreateRect() is failing.
Is there a way to tell to icfb: "I do not need those objects any more,
purge them from memory." ?
ICFB version and others:
~~~~~~~~~~~~~~~~~~~~
\o Program: @(#)$CDS: virtuoso version 6.1.3 05/25/2009 14:16
(cic612lnx) $
\o Sub version: sub-version IC6.1.3.500.11 (32-bit
addresses)
\o Host name (type): myhost
(x86_64)
\o Operating system: Linux 2.6.9-78.0.17.ELsmp #1 SMP
~~~~~~~~~~~~~~~~~~~~
BR,
Marcel
I have a problem with a script which is creating some shapes in a
loop,
keep just few of them, delete the other shapes.
Looks like when the shape is deleted, the memory is still allocated,
and not reused.
I get next warning message:
~~~~~~~~~~~~~~~~~~~~~~
*WARNING* dbDeleteShape: A memory allocation for 2147483648 bytes
failed.
The process heap is 1130MB, and OpenAccess is using
1068MB.
The available system memory is 9710MB, and physical system memory is
16026MB.
~~~~~~~~~~~~~
So, I've create a simple test case: create and delte shpe inside of
some big loops and nothing else.
~~~~~~~~~~~~~~~~~~~~~~~~~~~
/*
Test dbDeleteObject(shape)
Inside of two big loops, create shape and delete it iemdiatelly.
After a while, the memory is exhausted.
*/
let( (x y stepX stepY m cv
shape)
cv = cv
()
x =
0
y =
0
stepX =
10
stepY =
10
m =
4321
for(i 1
10000
for(j 1
10000
shape = dbCreateRect(cv list("npoc") list(x:y (x+stepX)y
+stepY)))
dbDeleteObject
(shape)
)
println
(i)
x = modulo((x + stepX)
m)
y = modulo((y + stepY)
m)
)
)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
When i == 3355 , skill start to show the warning messages, and the
shapes are not deleted.
After a while also dbCreateRect() is failing.
Is there a way to tell to icfb: "I do not need those objects any more,
purge them from memory." ?
ICFB version and others:
~~~~~~~~~~~~~~~~~~~~
\o Program: @(#)$CDS: virtuoso version 6.1.3 05/25/2009 14:16
(cic612lnx) $
\o Sub version: sub-version IC6.1.3.500.11 (32-bit
addresses)
\o Host name (type): myhost
(x86_64)
\o Operating system: Linux 2.6.9-78.0.17.ELsmp #1 SMP
~~~~~~~~~~~~~~~~~~~~
BR,
Marcel