[omniORB] the _dispose() function of the objects

Duncan Grisby dgrisby@uk.research.att.com
Fri, 09 Feb 2001 16:18:10 +0000


On Friday 9 February, Pletyak Attila wrote:

> I made a project with omniORB 2.8 on Debian Linux 2.2. 

Are you using omniORB 2.8 for a particular reason?  It is far better
to use omniORB 3.0, since that is much more up-to-date. Apart from
anything else, the POA's support for object deactivation etc. is much
clearer.

If at all possible, I strongly recommend that you use omniORB 3.0.

[...]
> After this I created 1000 other objects, and they did not use as much
> memory, only 2k/object. I created yet an other 1000 objects, and their
> size-increase was 12k/object again. And now I re-created the original
> 1000 objects, and they needed only 9k/object. 

It sounds like what Stefan suggested -- the OS is not immediately
reclaiming unused memory from the process, so you don't see the usage
go down in top. That would also explain the odd size patterns as you
delete and create objects.

The other possibility is that your server process has got its
reference counting of object references wrong. In omniORB 2, object
references in the server process prevent servant objects being
deleted. That is no longer the case in omniORB 3.

Cheers,

Duncan.

-- 
 -- Duncan Grisby  \  Research Engineer  --
  -- AT&T Laboratories Cambridge          --
   -- http://www.uk.research.att.com/~dpg1 --