Thank you for the report. This issue is fixed in the most recent
Ferret release, v7.2. Also please note that in Ferret v7.2 and
higher, the memory management is handled differently than in
earlier versions, see the MEMORY
USE sections in the documentation. The SET MEMORY
command is now an upper bound on memory that may be allocated, but
it is not actually allocated until it's needed.
We will be releasing a Ferret v7.21 within the next couple of
weeks. It addresses some internal memory allocation issues not
directly related to the changes I mention above, so you might want
to wait to upgrade your Ferret executable until that release.
Hello,
When I run the command :
REPEAT/NAME=nn/RANGE=0:4
( LET mem = `2000+100*nn` ; SET MEMORY/SIZE=`mem` ; SAY
`mem`: ($FERRET_MEMORY) )
I get :
yes?
REPEAT/NAME=nn/RANGE=0:4 ( LET mem = `2000+100*nn` ; SET
MEMORY/SIZE=`mem` ; SAY `mem`: ($FERRET_MEMORY) )
Cached data cleared
from memory
2000: 2000
Cached data cleared
from memory
2100: 2100
Cached data cleared
from memory
2200: -2095
Cached data cleared
from memory
2300: -1995
Cached data cleared
from memory
2400: -1895
The symbol FERRET_MEMORY is false when memory is
bigger than 2Gb (2048 Mb)
Annoying, as in a GO script I want to test the
memory to avoid to reset it (and clean the cache) when it is big
enough :
IF `($FERRET_MEMORY)
LT 4000` THEN SET MEMORY/SIZE=4000
I've seen it :
FERRET
v6.93
Linux
2.6.32-504.el6.x86_64 64-bit - 11/13/14
28-Aug-17
14:36
and
PyFERRET
v7 (opt)
Linux
2.6.32-642.1.1.el6.x86_64 - 07/01/16
28-Aug-17
14:44
and
PyFerret
v7.1 (optimized)
Darwin
14.5.0 - 03/28/17
28-Aug-17
10:26
will be very nice it that could be fixed in a future
version.
Best regards, and happy Ferret to all,
Olivier
--
Laboratoire
des Sciences
du Climat et
de
l'Environnement
Institut
Pierre Simon
Laplace
Laboratoire
CEA-CNRS-UVSQ
- UMR 8212
Tel :
+33 1 69 08 77
27 - Mob : +33
6 45 36 43 74
Fax :
+33 1 69 08 30
73