Subject Re: [IBO] Blob Handling consumes memory
Author jwharton@ibobjects.com
If you want to make sure a statement has release BLOB cache, unprepare it.

Jason Wharton

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
> Are you sure? What happens when you reach the limit of the cache size? Do
> you still see "memory growth" after that?

I have stopped inserting new blobs when my application showed a memory usage of 400 MB, whereas it's
usage is 5 MB right after startup, so I think it's fair to assume that it does not stop at a certain
point.

>
> What are the cache sizes on the two machines (the one that is shedding the
> committed blobs vs the one that is retaining them?
>

I both cases I am working on the same machine, it's only the DB thats different.
Pagesize on both DB's is 4096, Buffer is 2048 pages or 8192 KB.

> With big blobs it's a good rule anyway, to start-trans/perform
> operation/commit every time, not just to ensure that the blob really gets
> written but also to make sure that old blobs get garbage collected. (blobs
> are never updated, always replaced. The old version of the blob stays on
> disk but it won't get garbage-collected if you autocommit).

There is no update of any blobs yet, whatever is loaded from file will result in a fresh insert.
What puzzles me even more is the consumtion of memory when saving to file.


Florian