[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Memory consumption issue
Hi guys,
I've discovered a major memory issue. We have an OpenLDAP server
(2.4.11) running with almost 2 million entries. When I do a ldapsearch
to retrieve the entire tree the memory consumption grows and grows and
will never stop before it ate the entire RAM and swap.
My slapd.conf file looks like this:
include /var/ldap/ldap-ds/etc/schema/core.schema
include /var/ldap/ldap-ds/etc/schema/netmobile.schema
include /var/ldap/ldap-ds/etc/schema/netmobile.acc.schema
include /var/ldap/ldap-ds/etc/schema/netmobile.zMRDB.schema
# Define global ACLs to disable default read access.
# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
#referral ldap://root.openldap.org
pidfile /var/ldap/ldap-ds/var/run/slapd.pid
argsfile /var/ldap/ldap-ds/var/run/slapd.args
access to *
by dn="cn=replica,ou=replica,ou=ldapaccounts,o=netmldap" write
by users read
by anonymous read
access to *
by self write
by users read
by anonymous read
#threads 2
# all logging
#loglevel -1
# only syncrepl logging
loglevel 16640
#######################################################################
# BDB database definitions
#######################################################################
database monitor
access to dn.subtree="cn=Monitor"
by dn.exact="cn=admin,ou=netm,ou=people,o=netmldap" write
by dn.exact="cn=admin,ou=netm,ou=people,o=netmldap" read
by * none
database bdb
suffix "cn=accesslog"
rootdn "cn=Admin,o=netmldap"
directory /var/ldap/ldap-ds/cn=accesslog
index default eq
index entryCSN,objectClass,reqEnd,reqResult,reqStart
overlay syncprov
syncprov-nopresent TRUE
syncprov-reloadhint TRUE
limits dn.exact="cn=Admin,o=netmldap" time.soft=unlimited
time.hard=unlimited size.soft=unlimited size.hard=unlimited
database config
rootdn "cn=admin,cn=config"
rootpw config
database bdb
suffix "o=netmldap"
rootdn "cn=Admin,o=netmldap"
# Cleartext passwords, especially for the rootdn, should
# be avoid. See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw {SSHA}5ycg8tSV/i0Z99FKaylr0Az5x1nBA8TC
directory /var/ldap/ldap-ds/o=netmldap
#dbcachesize 1000000
cachesize 1000
idlcachesize 3000
cachefree 500
searchstack 8
#readonly on
# Indices to maintain
index default pres,eq
index cn
index netmzMRDBPhoneNumber
index netmAccNumAddr
index netmAccNumPort
index netmLogin2
index netmPortalName
index netmCarrierID
# new indices - 2007-01-15
index netmLogin pres,eq
index netmClientContractUniqueName
index netmPrivateMail
index netmContactTecEmail
index netmContactBillingEmail
index netmFirmEmail
index netmContactCommEmail
index netmzMRDBCarrier
index netmzMRDBblacklistLA
index netmzMRDBPortingDate
index objectClass pres,eq
index entryCSN,entryUUID eq
# Save the time that the entry gets modified
lastmod on
overlay syncprov
syncprov-checkpoint 1000 60
overlay accesslog
logdb cn=accesslog
logops writes
logsuccess TRUE
# scan the accesslog DB every day, and purge entries older than 7 days
logpurge 07+00:00 01+00:00
limits dn.exact="cn=Admin,o=netmldap" time.soft=unlimited
time.hard=unlimited size.soft=unlimited size.hard=unlimited
sizelimit -1
The DB_CONFIG look like this
set_cachesize 0 8435456 1
set_lg_regionmax 262144
set_lg_bsize 2097152
# will automatically remove transaction logs
# this setting isn't recommended
set_flags DB_LOG_AUTOREMOVE
When I start slapd is consumes that much RAM
total kB 478476
After doing the search it looks like this
total kB 937316
I've done a pmap -x to see where the memory goes but this process is
marked as anonymous.
So I don't know how to get this memory back. I have to restart the LDAP
server to get this memory released.
I would appreciate if someone could help me to solve this issue.
Thanks
Thorsten