No. As I already mentioned, there is no reason for slapcat to use large amounts of RAM, it should use whatever size your BDB cache is configured for and that's about it. It's possible there is a memory leak, but since no such leak appears under Linux that would point to either the Solaris C library or some other library specific to your platform.
Perhaps you should post your actual slapd.conf file (removing any passwords or other sensitive info).
shure, here we are:
( this one, is the 64bit test; I've use the consumer for this try)
------------------------------------------
$ cat slapd.conf
# # See slapd.conf(5) for details on configuration options. # This file should NOT be world readable. # schemacheck on
include /app/ldap23/consumer/openldap/schema/core.schema include /app/ldap23/consumer/openldap/schema/ppscore.schema include /app/ldap23/consumer/openldap/schema/ppsattributes.schema include /app/ldap23/consumer/openldap/schema/capability.schema include /app/ldap23/consumer/openldap/schema/java.schema include /app/ldap23/consumer/openldap/schema/cosine.schema include /app/ldap23/consumer/openldap/schema/inetorgperson.schema
#loglevel stats config acl sync loglevel stats config acl
pidfile /app/ldap23/consumer/run/slapd.pid argsfile /app/ldap23/consumer/run/slapd.args
threads 20
idletimeout 30
####################################################################### # db database definitions #######################################################################
database hdb shm_key 10000
suffix "dc=foo,dc=bar" rootdn "cn=Admin,dc=foo,dc=bar"
checkpoint 15360 5
cachesize 100 #cachesize 5000
idlcachesize 5000
# Cleartext passwords, especially for the rootdn, should # be avoid. See slappasswd(8) and slapd.conf(5) for details. # Use of strong authentication encouraged.
rootpw XXX
# The database directory MUST exist prior to running slapd AND # should only be accessible by the slapd and slap tools. # Mode 700 recommended.
directory /app/ldap23/consumer/openldap-data
# Indices to maintain index objectClass,contactCode,partyId,entryCSN,entryUUID eq
####################################################################### # CONSUMER # #######################################################################
syncrepl rid=102 provider=ldap://10.xxx.xxx.xxx:389 type=refreshAndPersist retry="120 +" searchbase="ou=profiles,dc=foo,dc=bar" filter="(objectClass=*)" scope=sub attrs="*" schemachecking=off binddn="cn=syncuserman,dc=foo,dc=bar" credentials=XXX bindmethod=simple ------------------------------------------
and DB_CONFIG also:
------------------------------------------
$ cat DB_CONFIG
set_lg_dir /app/ldap23/consumer/openldap-data/logs
#set_cachesize 0 256000000 1 set_cachesize 0 64000000 1 set_lg_regionmax 262144 set_lg_bsize 2097152
# Automatically remove log files that are no longer needed. set_flags DB_LOG_AUTOREMOVE
set_flags DB_TXN_NOSYNC #set_flags DB_TXN_NOT_DURABLE
------------------------------------------
In this run, I've set << set_cachesize >> to 64Mb due to speed up the test.
Paolo