[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: Memory Leak in slapd (or did I miss something configuring?)
On Thursday, 1 September 2011 10:14:12 Thomas Rasmussen wrote:
> On 31/08/2011, at 19.29, Quanah Gibson-Mount wrote:
> > --On Wednesday, August 31, 2011 11:33 AM +0200 Thomas Rasmussen
<rasmussen.thomas@gmail.com> wrote:
> >> After a restart and performing a ldapsearch slapd has allocated over
> >> 500MB of memory, which is not exactly a good thing :-(
> >
> > How many total entries are in your database? What is your entrycache
> > size? I don't see that information in your stripped slapd.conf.
> > Personally, I suggest you never "strip" slapd.conf when sending it out,
> > because you aren't necessarily going to know what is relevant to what
> > you are doing.
>
> I have about 3 million DNs in the database, I was required by our customer
> to strip out some of the information, but it was only the 'access' bits
> and the rootdn+rootpw which is why I stripped some information.
>
> > I think you are misunderstanding some of how OpenLDAP works. In addition
> > to the BDB cachesize (which you have configured as 50MB (which is likely
> > grossly small given the size of your database), there are also 3
> > additional caches for back-bdb/back-hdb in slapd itself. Those are
> > *not* filled until you start doing searches. Those 3 caches are:
> >
> > entrycache
> > idlcache
> > dn cache
>
> OK, I was not aware that it would use memory for other caches that wasn't
> possible to setup (or are they?)
Have you read any documentation regarding tuning, at all?
$ man slapd-bdb|col -b|grep -A6 -E '^ *(idl|dn|)cache.*size'
cachesize <integer>
Specify the size in entries of the in-memory entry cache mainâ
tained by the bdb or hdb backend database instance. The default
is 1000 entries.
cachefree <integer>
Specify the number of entries to free from the entry cache when
--
dncachesize <integer>
Specify the maximum number of DNs in the in-memory DN cache.
Ideally this cache should be large enough to contain the DNs of
every entry in the database. If set to a smaller value than the
cachesize it will be silently increased to equal the cachesize.
The default value is 0 which means unlimited, i.e. the DN cache
will grow without bound.
--
idlcachesize <integer>
Specify the size of the in-memory index cache, in index slots.
The default is zero. A larger value will speed up frequent
searches of indexed entries. An hdb database needs a large idlâ
cachesize for good search performance, typically three times the
cachesize (entry cache size) or larger.
Regards,
Buchan